一,元字符
^
表示锚定anchor,定位一行的开头
^cat
匹配已字母cat开头的行
类似的还有元字符:
$如cat$
表示以字母cat结尾的行
二,字符组
[]表示“或”,匹配方括号里任意字符,如sep[ae]rate则能匹配separate/seperate.
字符组里有特殊字符“-”,连子符如[0-9]等同于[0123456789],但[-xxx]里,由于“-”紧跟“[”所以“-”也是一个普通字符,而不是连字符。
“[^]”表示排除,如q[^u] 表示第一个字母是q,第二个位置是除了u以外的任意字符。
三,元字符.点号匹配任意字符
匹配任意字符的占位符
但在字符组[x.x]里则表示普通字符“.”
四,多选结构
Bob|Robert
表示能匹配Bob或者Robert的表达式
在[ ]里的“|”表示普通字符
多用()来限制 | 的范围,如(Bob)|(Robert)
五,单词分界符
\< 与 \> 如\<cat\>
表示
以单词cat开始和以cat结尾的位置,等同于匹配“cat”这个单词
六,“?”可选项元素
colou?r
表示字符“u”为可选项,出现与否,不影响结果。可匹配color与colour
七,重复出现(量词)
xxx*
xxx+
xxx?
“*” 表示“之前紧邻的元素出现任意多次,或者不出现”,匹配尽可能多的次数,如果实在无法匹配,也不要紧
“+”表示“之前紧邻的元素出现任意多次,或者出现一次”,匹配尽可能多的次数,如果一次都不能匹配,就报错。
“?”“+”“*”统称为量词
如:
_?能匹配一个空格
_*能匹配任意多个空格
八,转义
元字符之后加“\”表示转义
“\”与c#一样,如匹配csdn.net要使用csdn.net
九,匹配引号内的字符串
"[^"]*"