【正则表达式相关】
【匹配字符】
描述:相当于精确查找,直接在反斜线中写,不加括号,特俗符号需要加入转义字符。
例如:/JavaScript/,会精确查找与之相匹配的字符串。
【字符类】
描述:将字符放到中括号中“[]”,表示匹配中括号中的字符,需要注意的是,一个中括号只匹配一个位置的字符。
例如:/[ABC][DEF]/,会查找首字符为A或B或C的,第二个字符为D或E或F的字符串片段。
特殊字符:
- ^ 表示非;
- . 表示除了达行符和其他Unicode终止符之外的所有字符
- /w 表示任何匹配ASCII单字字符,相当于[a-zA-Z0-9]
- /W 表示非/w
- /s 表示各种空白符
- /S 表示非/s
- /d 表示任何数字
- /D 表示非/d
【界定符】
描述:单独符号,写在首或尾部。表示相应的意义。
包括:
- ^ 表示匹配字符串首;
- $表示匹配字符串尾;
- /b 表示单词的边界
- /B 表示非单词的边界;
【选择符】
描述:与界定符一样,直接写在表达式中。
符号:|,表示或者的意思。
【重复类】
描述:重复一个表达式的便捷表示方式。以大括号包围,中间填一个数字,或者两个。
例如:[0-9]{3},表示匹配000~999的字符串;
- {n}表示匹配前一项n次
- {n,m}表示匹配前一项n到m次
- {n,}表示匹配前一项至少n次
- ?匹配前一项0到1次
- +匹配前一项至少一次
- *表示匹配前一项0次到多次
【分组】
描述:用小括号"()"将正则表达式中的一部分表达式括起来,表示一个分组。
例如:/java(script)?/表示匹配java或者javascript。
【引用】
描述:用反斜杠加数字的形式,来引用分组,起始编号为1
例如:/(java)script/1/表示匹配javascriptjava的字符串。
【其他匹配】
例如:x(?=y)表示匹配x后面紧跟着y的字符串;x(?!y)表示匹配x后面不跟着y的字符串;
【匹配规则】
默认匹配一次,要想循环匹配到结束,需要加匹配规则
g表示globle,循环匹配到完全。
i表示匹配时不区分大小写
m表示执行多行匹配模式