正则是匹配模式,要么匹配字符,要么匹配位置。下表是匹配位置的元字符:
位置 | |
---|---|
模式 | 说明 |
^ | 匹配开头的位置,当正则有修饰符 m 时,表示匹配行开头位置 |
$ | 匹配结尾的位置,当正则有修饰符 m 时,表示匹配行结尾位置 |
\b | 匹配单词边界,即,\w 与 \W、^ 与 \w、\w 与 $之间的位置 |
\B | 匹配非单词边界,即,\w 与 \w、\W 与 \W、^ 与 \W、\W 与 $之间的位置 |
(?=abc) | 匹配 "abc" 前面的位置,即此位置后面匹配 "abc"(学名:正向先行断言 positive lookahead) |
(?!abc) | 匹配非 "abc" 前面的位置,即此位置后面不匹配 "abc"(学名:负向先行断言 negative lookahead) |
(?<=abc) | 匹配 "abc" 后面的位置,即此位置前面匹配 "abc"(学名:正向后行断言 positive lookbehind) |
(?<!abc) | 匹配非 "abc" 前面的位置,即此位置前面不匹配 "abc"(学名:负向后行断言 negative lookbehind) |
上表中的后四个,可以理解为“环视”,即看看右边,看看左边