超全正则表达式

3 篇文章 0 订阅

用来操作字符串,按照一定的规则去匹配字符串;

 

正则表达式匹配的第一种方式:

原型 var  对象名 = new RegExp(参数1,参数2

参数1:匹配的规则,必须是字符串;

参数2:可以省略,属性可选值,用来设置匹配的范围;

正则表达式的第二种写法 字面量(语法糖)的形式

var 对象名 = /参数1/参数2

参数1:匹配的规则,这里不能是字符串,语法糖和原型的区别;

参数2:可以省略,属性可选值,用来设置匹配的范围;

i:不区分大小写;

g:全局(搜索)匹配,即使匹配到对应的内容,也会继续匹配,直到字符串结束为止,默认是局部匹配,匹配到即结束,返回结果;如果是匹配结果(true或者false),不需要使用全局,如果是匹配到内容,则可以使用全局匹配;

m:多行搜索,换行需要重新匹配

字面量(语法糖)的形式,创建字符串,数组,对象…

匹配规则:

 

1.普通字符串的匹配规则

/F2/   /19a/       直接写,代表是否包含F2字符串

/[F2]/    []代表是否出现过F或者2

2.特殊字符串的匹配规则

\n   换行

\t   切换符合tab键

\r   回车键

\d   或者[0123456789] 或者 [0-9]     数字0-9

\D  或者 [^\d] 或者 [^0123456789] 或者 [^0-9]  非数字

^放在[]中,代表除了[]中出现的字符以外

\w  或者 [a-zA-Z0-9 ]    数字,字母,下划线

\W  非数字,字母,下划线

\s    空白(空格,换行,tab键)

\S   非空白

. 或者 [^\n]    除了\n换行以外的所有字符,除了\n是false,其他都是true;

.有特殊含义,代表匹配规则,所以,如果想匹配字符串中是否包含字符" . ",需要进行转义;例如:[a\.c]  匹配是否出现过a或者.或者c字符

[]   用来匹配字符串中是否出现过[]中的字符,如果出现过,则返回true

^   放在匹配规则最前面,代表以某某开头

^[]   匹配以[]中出现过的字符作为开头

[^]   用来匹配除了[]中以外的其他字符

|      或者  (要或者的条件加括号)

$     以某某结尾

3.特殊字符的匹配

选字符,用于指定字符串的范围

[0-9]  匹配0-9的任意数字

[a-z]  匹配a-z的所有小写字母

[A-Z]  匹配A-Z的所有大写字符

[\u4e00 - \u9fa5]  匹配中文字符,汉字

[^\u4e00-\u9fa5]  匹配非汉字

[\x00-\xff]  匹配所有非汉字和非中文标点符号

[^\x00-\xff]    匹配所有的汉字和中文标点符号(双字节)

4.正则中的量词

注意:量词都对应左边最近的匹配规则

{n}   连续重复出现n

{m,n}  连续重复出现mn

+  相当于{1,} 出现一次到多次

*  相当于{0,} 出现0次到多次

相当于{01} 出现0次或者1次,可选项,可选择是否处理;例如:月份10月以前,带0不带0都对,09月,9

(.*?) 非贪婪匹配,会一直找,找到下一个的正则规则位置为止  例如:\{(.*?)\}   { 会找到}为止

(?= 在任何匹配的字符串开始处匹配查找字符串可以当成是一种条件判定,满足才能匹配(必须)

(?:)  表示我们需要匹配某样东西本身。

(?=.*?)    表示必须找到这个东西

5.定位符

^ 以某某开头

以某某结尾

\b  匹配到单词的边界

6.正则表达式函数

.匹配规则对象.test(字符串)  作用:判断该字符串是否满足正则表达式的匹配规则,满足返回true,反之返回false

.字符串对象.match(正则表达式) 作用:用来匹配字符串中是否包含满足正则匹配规则的字符串内容;返回值是一个数组,每个字符串作为数组的一个元素;

 

.字符串查找 字符串对象.search(正则表达式)

作用:只要匹配到符合正则的字符串,就会将该字符串的开始下标返回,否则返回-1;和indexOf作用一样,如果匹配到多个,则返回第一个的下标;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值