实际工作中最常用的都是一些简单的正则表达式,form验证里的邮件、中文、网址、电话等的匹配,开发中的注释匹配,这些都还好,偶尔错了多试几次就可以搞定了。
但是以下部分很少用到,今天看《javascript权威指南(第五版)》才详细了解了,算是正则表达式的进阶知识了。
正则表达式的锚字符(锚其实就是定位的意思,这个我在刚学html的时候一直没弄明白
)
- ^ 匹配字符串的开头,在多行模式中匹配一行的开头
- $ 匹配字符串的结尾,在多行模式中匹配一行的结尾
- \b 匹配一个词语的边界,词语边界即是\w和\W之间的位置,或\w和字符串的开头和结尾的位置
- \B 匹配非词语边界的位置。这个跟上面相反,即是\W和\W之间,\w和\w之间的位置这两种情形
- (?=p) 正前向声明,要求接下来的字符都与模式p匹配,但是不包括匹配中的那些字符
- (?!p) 反前向声明,要求接下来的字符不与模式p匹配,
/\bhello/.test("ahello world");//false
/\bhello/.test("hello world");//true
/hello\b/.test(" hello world");//true
/hello\b/.test("hello@ world");//true @是非单词字符,所以o和@之间即是边界,也就是\b
/hello\b/.test("hello_ world");//false,该正则表达式要求hello之后有一个非单词字符(0-9,a-z,A~Z和_),但"hello_ world"中_是单词字符,所以返回false
/hello\B/.test(" hello_world");//true \B的含义与\b相反,参考上面解释,o和_之间为非词语边界
/hello\B/.test(" helloworld");//true,参考上面解释,o和w之间为非词语边界,\w和\w之间的位置
/hello\B/.test(" helloworld");//true,参考上面解释,\W和\W之间
/@\B/.test("@#");//true \W \W
正则表达式的标志(这个其实是高级匹配了)
- i 执行不区分大小写的匹配
- g 执行一个全局匹配,即找到所有匹配的字符串
- m 多行模式,^匹配一行的开头和字符串的开头,$匹配一行的结尾和字符串的结尾
"javaScript is a script language".replace(/script/ig,"")//"java is a language"
"javaScript is a script language".replace(/script/g,"")//javaScript is a language"
"javaScript is a script language".replace(/script/i,"")//java is a script language"
----未完待续
分享到:
相关推荐
JavaScript学习笔记包括正则表达式、异常处理、调试、关键字等
北风网正则表达式详细讲解学习笔记,讲解的比较基础适合初学者学习。
NULL 博文链接:https://jeffreyqiu.iteye.com/blog/1738371
javascript正则表达式入门学习实例入门
JavaScript正则表达式学习资料笔记 很适合初学者,讲的非常详细、全面。
正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。 首先推荐几个正则表达式编辑器 Debuggex :...
HTML笔记. J2EE笔记. Javascript笔记. JAVA笔记.oracle 笔记.Linux笔记.tomcat笔记.面试问题.数据结构.听韩顺平的笔记.正则表达式.等,我是我在上大学时学习做的笔记,拿出来和大家共享。。
1、创建正则表达式 第一种方式:注意这里的正则表达式不能使用单引号或者双引号,如下 var pattern1 = /[abc]/i; // 匹配第一个”a”或”b”或”c”,不区分大小写 第二种方式:使用RegExp构造函数创建,该构造函数...
php正则表达式学习笔记分享: 1.创建正则表达式 $regex = ‘/\d/i’; 与JavaScript中的第一个方式有点像,只是这里的话是个字符串。 2.正则表达式中的特殊字符 特殊字符有: . \ + * ? [ ^ ] $ ( ) { } = ! < ...
javascript学习笔记之正则表达式介绍,需要的朋友可以参考下
正则表达式在web开发中会经常用到,主要用于验证用户输入的数据的格式。
RegExp类 RegExp对象的构造函数可以带一个或两个参数 第一个参数是描述需要进行匹配的模式字符串,如果还有第二个参数,这个参数则制定了额外的处理指令。
一、创建正则表达式 创建正则表达式和创建字符串类似 , 创建正则表达式提供了两种方法 , 一种是采用 new运算符,另一个是采用字面量方式。 代码如下: var dog = new RegExp(‘dog’); // 第一个参数字符串 var dog...
一、正则表达式 二、需要进行转义字符的元字符有 三、优先级 四、举例 ·replace(/^/mg,"#") 可在每行首添加一个“#” ·/^\s*$/ 匹配空行 ·/\b([a-zA-Z]+) \1\b/ 匹配两个相邻的相同单词 ·html标签匹配:/...
需要指出的是,这里只是总结了正则表达式的常用的且比较简单的语法,而不是全部语法,在我看来,掌握了这些常用语法,已经足够应对日常应用了。正则表达式不只是应用在ECMAScript中,在JAVA、.Net、Unix等也有相应...