简单解析JavaScript中的正则表达式(三)

简介: 简单解析JavaScript中的正则表达式(三)本片博客主要来和大家讲一下正则表达式实际的应用。1.正则表达式的范围 []中括号用于查找某个范围内的字符: // [abc] 查找方括号之间的任何字符。 // [^abc] 查找任何不在方括号之间的字符。 除去 // [0-9] 查找任何从 0 至 9 的数字。 // [a-z] 查找任何从小写 a 到小写 z 的字符。 // [A-Z] 查找任何从大写 A 到大写 Z 的字符。 // [A-z] 查找任何从大写 A 到小写 z 的字符。 // [adgk] 查找给定集合内的任

简单解析JavaScript中的正则表达式(三)




本片博客主要来和大家讲一下正则表达式实际的应用。


1.正则表达式的范围 []


中括号用于查找某个范围内的字符:

// [abc]    查找方括号之间的任何字符。// [^abc]   查找任何不在方括号之间的字符。  除去// [0-9]    查找任何从 0 至 9 的数字。// [a-z]    查找任何从小写 a 到小写 z 的字符。// [A-Z]    查找任何从大写 A 到大写 Z 的字符。// [A-z]    查找任何从大写 A 到小写 z 的字符。// [adgk]   查找给定集合内的任何字符。// [^adgk]  查找给定集合外的任何字符。varreg=/abc/;
varreg2=/[abc]/;
varreg3=/[^a]/;//除console.log(reg.test(str));
console.log(reg2.test(str));
console.log(reg3.test(str2));
// (red|blue|green) 查找任何指定的选项。  或varreg3=/(a|b|c)/;
varstr3="hello a";
console.log(reg3.test(str3));   


2.正则表达时的元字符


元字符(Metacharacter)是拥有特殊含义的字符:


 

varstr="hello China";
// .    查找单个字符,除了换行和行结束符。   任意字符varreg=/[.]/;
console.log(reg.test(str));
// \w   查找单词字符。varreg2=/\w/;
varstr2="你好,中国a";
console.log(reg2.test(str2));
// \W   查找非单词字符。// \d   查找数字。// \D   查找非数字字符。// \s   查找空白字符。// \S   查找非空白字符。// \b   匹配单词边界。// \B   匹配非单词边界。// \0   查找 NULL 字符。// \n   查找换行符。// \f   查找换页符。// \r   查找回车符。// \t   查找制表符。// \v   查找垂直制表符。// \xxx 查找以八进制数 xxx 规定的字符。// \xdd 查找以十六进制数 dd 规定的字符。// \uxxxx   查找以十六进制数 xxxx 规定的 Unicode 字符。


3.正则表达式的量词



// n{X} 匹配包含 X 个 n 的序列的字符串。varreg=/a{3}/;
varstr="aaaa";
console.log(reg.test(str));
// n{X,}    X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配。varreg2=/a{3,}/;
varstr2="aaaa";
console.log(reg2.test(str2));
// n{X,Y}   X 和 Y 为正整数。前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配。varreg3=/a{3,5}/;
varstr3="aaaaaaa";
console.log(reg3.test(str3));
// n+   匹配任何包含至少一个 n 的字符串。   n{1,}// n*   匹配任何包含零个或多个 n 的字符串。   n{0,}// n?   匹配任何包含零个或一个 n 的字符串。  n{0,1}// ^n   匹配任何开头为 n 的字符串。varreg5=/[^a]/;
varstr5="baaaaa";
console.log(reg5.test(str5));
varreg6=/^a/;
console.log(reg6.test(str5));
// n$    匹配任何结尾为 n 的字符串。varreg7=/a$/;
console.log(reg7.test(str5));
// 网址?   http://www.baidu.com.cnvarreg10=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;
// ?=n  匹配任何其后紧接指定字符串 n 的字符串。// ?!n  匹配任何其后没有紧接指定字符串 n 的字符串。

视频讲解链接:
https://www.bilibili.com/video/BV1Ez4y197Ta/

相关文章
|
1月前
|
机器学习/深度学习 JavaScript 前端开发
JS进阶教程:递归函数原理与篇例解析
通过对这些代码示例的学习,我们已经了解了递归的原理以及递归在JS中的应用方法。递归虽然有着理论升华,但弄清它的核心思想并不难。举个随手可见的例子,火影鸣人做的影分身,你看到的都是同一个鸣人,但他们的行为却能在全局产生影响,这不就是递归吗?雾里看花,透过其间你或许已经深入了递归的魅力之中。
77 19
|
2月前
|
JSON 前端开发 Serverless
Mock.js 语法结构全解析
Mock.js 的语法规范介绍,从数据模板定义规范和数据占位符定义规范俩部分介绍, 让你更好的使用 Mock.js 来模拟数据并提高开发效率。
|
4月前
|
数据采集 前端开发 JavaScript
金融数据分析:解析JavaScript渲染的隐藏表格
本文详解了如何使用Python与Selenium结合代理IP技术,从金融网站(如东方财富网)抓取由JavaScript渲染的隐藏表格数据。内容涵盖环境搭建、代理配置、模拟用户行为、数据解析与分析等关键步骤。通过设置Cookie和User-Agent,突破反爬机制;借助Selenium等待页面渲染,精准定位动态数据。同时,提供了常见错误解决方案及延伸练习,帮助读者掌握金融数据采集的核心技能,为投资决策提供支持。注意规避动态加载、代理验证及元素定位等潜在陷阱,确保数据抓取高效稳定。
106 17
|
4月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
4月前
|
存储 JavaScript 前端开发
全网最全情景,深入浅出解析JavaScript数组去重:数值与引用类型的全面攻略
如果是基础类型数组,优先选择 Set。 对于引用类型数组,根据需求选择 Map 或 JSON.stringify()。 其余情况根据实际需求进行混合调用,就能更好的实现数组去重。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
4月前
|
消息中间件 JavaScript 前端开发
最细最有条理解析:事件循环(消息循环)是什么?为什么JS需要异步
度一教育的袁进老师谈到他的理解:单线程是异步产生的原因,事件循环是异步的实现方式。 本质是因为渲染进程因为计算机图形学的限制,只能是单线程。所以需要“异步”这个技术思想来解决页面阻塞的问题,而“事件循环”是实现“异步”这个技术思想的最主要的技术手段。 但事件循环并不是全部的技术手段,比如Promise,虽然受事件循环管理,但是如果没有事件循环,单一Promise依然能实现异步不是吗? 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您
|
8月前
|
JavaScript 前端开发 API
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
Vue.js响应式原理深度解析:从Vue 2到Vue 3的演进
214 17
|
8月前
|
前端开发 JavaScript
JavaScript新纪元:ES6+特性深度解析与实战应用
【10月更文挑战第29天】本文深入解析ES6+的核心特性,包括箭头函数、模板字符串、解构赋值、Promise、模块化和类等,结合实战应用,展示如何利用这些新特性编写更加高效和优雅的代码。
187 0
|
4月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
392 29
|
4月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
119 4

热门文章

最新文章

推荐镜像

更多
  • DNS