元字符
元字符不代表他们本身的字面意思,他们都有特殊的含义。
斜杠
正斜杠/ (英文字母的斜的顺序)
反斜杠\ (通常表示转义)
正斜杠在计算机中通常表示路径
windows系统也支持反斜杠作为路径格式
浏览器中URL的层级URL标记符(//)以及路径分隔符(/)也是由正斜杠(/)组成,例如https://zh.wikipedia.org/wiki/
反斜杠通常表示转义,因此我们常常在一些代码里面看到形如"C:\\Windows\\System32\\cmd.exe"的路径格式
在正则表达式中,正常情况下“/”不需要转义,除非你写Javascript,因为它的patter是写法是"/..../",所以里面的/需要转义。
字符集 [ ]
[ ] 中有许多字符不需要转义,经过实验,除了\^/ 之外都不需要转义
否定字符集 ^
一般来说 ^ 表示一个字符串的开头,但它用在一个方括号的开头的时候,它表示这个字符集是否定的
重复 + ? * {}
* 大于等于零次
+ 大于等于一次
? 零次或一次
{(a)(-)(b)} 次数
(...) 特征标群
特征标群是一组写在 (...) 中的子模式。例如之前说的 {} 是用来表示前面一个字符出现指定次数。但如果在 {} 前加入特征标群则表示整个标群内的字符重复 N 次。例如,表达式 (ab)* 匹配连续出现 0 或更多个 ab。
我们还可以在 () 中用或字符 | 表示或。例如,(c|g|p)ar 匹配 car 或 gar 或 par.简写字符集
零宽度断言(前后预查)
i case insensitive
g global search
m multiline