关于正则的一些随笔

[]    字符集
[^]  字符集中的^代表非
-     连字符
|     或
^    开始
$    结束
\w  ==  [a-zA-Z0-9] && _
\W ==  ^\w
\d  ==  [0-9]
\D ==  ^\d
\s  不仅匹配空格,还匹配回车符、制表符、换页符和换行符
\S  不匹配空格、回车符、制表符、换页符和换行符
\n  匹配一个换行符
\ f  匹配一个换页符  
\r   匹配一个回车符 
\t   匹配一个制表符
\v  匹配一个重直制表符
*    出现零次或多次
+   至少出现一次,可出现多次
?   懒惰匹配,例如: 匹配字符串"titanic" 贪婪匹配:正则:/t[a-z]*i/ ,返回["titani"];懒惰匹配:/t[a-z]*?i/,返回["ti"]
{}   数量说明符指定匹配模式的上下限,在花括号之间放两个数字,这两个数字代表匹配模式的上限和下限。
     只想指定匹配模式的下限而不需要指定上限,在第一个数字后面跟一个逗号即可。
     要指定一定数量的匹配模式,只需在大括号之间放置一个数字。
() 使用捕获组搜寻重复的子字符串。括号 ( 和 ) 可以用来匹配重复的子字符串。你只需要把重复匹配模式的正则表达式放在括号中即可。
  例如:
  在正则表达式reRegex中使用捕获组,以匹配在字符串中仅重复三次的数字,每一个都由空格分隔。
   let repeatNum = "42 42 42";
   let reRegex = /^(\d+)\s\1\s\1$/; 
   let result = reRegex.test(repeatNum);

.test() --- 在字符串中查找符合正则的内容,若查找到返回true,反之返回false.
    用法:正则.test(字符串) 

.match() ---- 在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。
      用法:字符串.match(正则)

.search() --- 在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置),如果搜索失败就返回-1 
         用法:字符串.search(正则)

.repleace() ---- 查找符合正则的字符串,就替换成对应的字符串,返回替换后的内容。
      用法:字符串.replace(正则,新的字符串/回调函数)(在回调函数中,第一个参数指的是每次匹配成功的字符)

.exec() ---- 和match方法一样,搜索符合规则的内容,并返回内容,格式为数组。
            用法:正则.exec(字符串);

猜你喜欢

转载自www.cnblogs.com/hyser/p/12176491.html