正则表达式的一些基础记录

  正则表达式现在用的比较多,虽然公司不怎么用,原本记得的又忘了,还是写下来靠谱点。

  记录些基础知识,再去找点常见实例,有助于记忆。

元字符与特殊字符
^串的开始
$串的结束
*零到多次匹配
+一次到多次匹配
?零或一次匹配
单词边界


字符本身 匹配字符本身
匹配回车
换行
制表符
f 换页
x# 十六进制数
cX 控制字符


范围及重复
[...] 在集合中的任一字符
[^...] 不在集合中的任一字符
. 出 之外的任一字符
w 所有单字,包括所有字母,数字及下划线
W 不包括所有单字,w的补集
s 所有的空白字符,包括空格,制表符
S 所有的非空白字符
d 所有的数字
D 所有的非数字
 退格字符


{n} 重复n次
{n,} 重复n或更多次
{n,m} 重复至少n次,至多m次

()有三种情况 第一种,h(elp)?//字符h之后的elp可有可无
第二种,括号用来分组 var pattern =/w{4}(d{4})(w{2})/; var result = pattern.exec("yunn0871cg");
exec 返回一个数组(匹配成功) 数组的第一个元素(下表为0)表示整个串,第一个元素为第一个分组,第二个元素
为第二个分组,以此类推
yunn 0871 cg
第三种,括号用来对引用起辅助作用,即在同一个表达式中,后边的式子可以引用前边匹配的文本


switch
i忽略大小写开关
g 全局搜索开关
m 多行搜索开关(重定义^与$的意义)
/java/i 可以匹配java/Java/JAVA /java/g 匹配"javascript&java"中的两个"java"
RegExp对象的方法
test() 测试串中是否有合乎模式的匹配
exec() 对串进行匹配
compile() 变异正则表达式
String的正则表达式
match匹配正则表达式,返回匹配数组
replace替换
split分割
search查找,返回首次发现的位置

原文地址:https://www.cnblogs.com/gzbnet/p/3282994.html