regular expression正则表达式
正则表达式是一个 特殊结构的式子,用来指定(或者说是代表、列举)一类有某种共同特征的字符串。比如:ba, baa, baaa, baaaa, …
正则表达式在很多地方有应用,word,vi,grep,python,xshell等等。比如在编辑器中需要设置某一个字符串高亮,或者是检索,常常会有一个正则表达式的选项可供勾选。
进一步的正则表达式和有限状态自动机(finite state automata)还在NLP自然语言处理中有应用,用以确认输入的字符串是否是机器规定输入语言等等。
正则表达式语法:
pattern | matches |
---|---|
[wW]oodchuck | woodchuck,Woodchuck |
[0123456789] | 所有数字 |
[A-Z] | 所有大写字母 |
[a-z] | 所有小写字母 |
[0-9] | 所有数字 |
[^A-Z] | 非大写字母 |
[^Ss] | 非S或s |
[e^] | 要么是e要么是^ |
a^b | 就是字符串a^b |
a|b|c | =[abc] |
your|mine | your,mine |
colou?r | color,colour |
oo*h! | oh!,ooh!零个或多个前字符 |
o+h! | oh!,ooh! 一个或多个前字符 |
ba+ | ba,baa,baaa |
beg.n | begin,begun,beg3n 表示任意字符 |
^ [A-Z] | 以大写字母开头的字符串 |
^ [ ^A-Za-z] | 不以字母开头的字符串 |
\ .$ | 以.结束的字符串,.是特殊符号需要转义 |
.$ | 以任意字符结束 |