正则表达式
\ (转义字符)
^ (开始位置) ,如果设置了 RegExp的Mutiline属性,则 \n或\r 之后位置也能匹配到,如果在 [] 里则表示否
$ (结束位置),如果设置了 RegExp的Mutiline属性,则 \n或\r 之前位置也能匹配到
* (0-n次) 等价于 {0,}
+ (1-n次) 等价于{1,}
? (0或1次) 等价于{0,1}
. 匹配除 \n之前的任何单字符
{n} (n >=0,匹配n次)
{n,} (n >=0,至少匹配n次)
{n,m} (n/m >=0, 至少n次,最多m次)
【环视】:得到的是一个集合;pattern长度必须是固定的
(?=pattern)、(?!pattern) 顺序环视,向右环视
(?<=pattern)、(?<!pattern) 逆序环视,向左环视
(?:pattern) 匹配但是不获取匹配结果
= 表示肯定(等同于【等于】),? 表示否定(等同于【否定】)
例如:目标字符串【ABCDEFG ACDW】
CD(?=EFG) 只会匹配到【ABCDEFG】中CD
CD(?!EFG) 则只能匹配到【ACDW】中CD,在此目标字符串中等同于 CD(?<=A)
CD(?<A) 看CD左边是不是A,所以匹配到的是 ACDW
x|y 匹配x或y
[xyz] 匹配所包含任意一个字符
[^xyz] 匹配【未包含】任意一个字符
[a-z] 匹配指定范围集合,有大小写之分
[^a-z] 匹配不在a-z的符号
\d 匹配数字 \D 匹配非数字
\w 等价于[A-Za-z0-9_] \W 等价于 [^A-Za-z0-9_]
\f 换页;\n 换行 \r 回车;\t 制表;\v 垂直制表符
\s 任何空白符(空格,制表符,换页符等等) \S 非空白符
$n 匹配正则表达式中括号匹配项的结果
例如;
var re = /(\w+)\s(\w+)/;
var str = ‘John Smith’;
str.replace(re, ‘$2, $1’);
RegExp.$1 = John;RegExp.$2 = Wmith 因为表达式中有两个括号
可以使用 var newStr = str.replace(re, ’KaTeX parse error: Undefined control sequence: \ at position 23: …字符串 John 【优先级】 \̲ ̲(),(?:),(?=),[]…
|