其他分享
首页 > 其他分享> > 正则

正则

作者:互联网

正则

概念

一个用于规范字符串的表达式。

简单来说,就是写一个规则,然后通过这个规则可以从一个杂乱的字符串中找出符合规则的部分,也就可以用于判断

一个字符串是否符合某个规则。还可以将一个字符串中符合规则的部分进行替换。

正则表达式其实就是一种规则,其实把正则称作规则表达式更为恰当。正则的语法基于一种古老的perl语言。

作用

正则表达式的创建

语法: /正则表达式主体/修饰符(可选)

var reg = new RegExp('a','i') // 构造函数方式 第一个参数匹配的是对应的正则表达式,第二个参数是修饰符
var reg = /hello/i; // 字面量方式

注:正则表达式比较特殊,不是字符串,不用加引号,但是要有定界符,两边都是斜杠。在斜杠后面可以加一 些特定的修饰符。

修饰符

标志 说明
i 忽略大小写
g 全局匹配,贪婪模式
gi 全局匹配+忽略大小写

正则表达式的组成

普通字符和元字符

元字符

常用的源字符串
元字符 说明
\d 匹配数字
\D 匹配任意非数字的字符
\w 匹配字母或数字或下划线
\W 匹配任意不是字母,数字,下划线
\s 匹配任意的空白符
\S 匹配任意不是空白符的字符
. 匹配除换行符以外的任意单个字符,在[]里面的'.'会被识别为'.'
^ 表示匹配行首的文本(以谁开始)
$ 表示匹配行尾的文本(以谁结束)
限定符
限定符 说明
* 重复零次或更多次 {0,}
+ 重复一次或更多次 {1,}
重复零次或一次 {0,1}
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
其他
其他 说明
[] 字符串用中括号括起来,表示匹配其中的任一字符,相当于或的意思
[^] 匹配除中括号以内的内容
\ 转义符
| 或者,选择两者中的一个。注意|将左右两边分为两部分,而不管左右两边有多长多乱
() 从两个直接量中选择一个,分组 eg:gr(a | e)y匹配gray和grey
[\u4e00-\u9fa5] 匹配汉字

匹配字符串

/\d/.test('13522336699') //true
var str = 'www.baidu.com' 
str.search(/baidu/) // 4

提取字符串

var reg = /aaa/g; // 贪婪匹配 
var str = 'sdafaaaaaa123wer'; 
var arr = str.match(reg); 
console.log(arr); // ["aaa", "aaa"]
var reg = /(a)aa/g; // 贪婪匹配 
var str = 'sdafaa aaaa123wer'; 
var arr = reg.exec(str); 
console.log(arr); // ["aaa", "a", index: 7, input: "sdafaa aaaa123wer"]

注:先匹配整体,在匹配小括号

替换字符串

字符串.replace(正则表达式,替换内容)
var str = 'i love html very much and html is very good'; var reg = /html/g; 
var res = str.replace(reg,'js'); 
console.log(res); // i love js very much and js is very good

字符串支持正则的4个方法

标签:匹配,正则表达式,var,正则,str,字符串,reg
来源: https://www.cnblogs.com/CHENNGE/p/16573619.html