正则表达式正则表达式正则表达式是用来进行文本处理的技术,是语言无关的,在几乎所有语言中都有实现
一个正则表达式就是由普通字符以及特殊字符(称为元字符)组成的文字模式
正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配
正则表达式是非常复杂的,不要希望一次都掌握,理解正则表达式能做什么(字符串的匹配、字符串的提取、字符串的替换),掌握常用的正则表达式用法,以后用到再查就行
:匹配任何单个字符
Eg:正则表达式“f
y”能匹配如下字符串:“fly”、“fuy”、“fy”,但是不匹配“fuuy”2
[]:匹配括号中的任何一个字符
Eg:正则表达式“b[aui]g”匹配bug、big和bag,但是不匹配beg、baug
可以在括号中使用连字符“-”来指定字符的区间来简化表示,例如正则表达式[0-9]可以匹配任何数字字符,这样正则表达式“a[0-9]c”等价于“a[0123456789]c”就可以匹配“a0c”、“a1c”、“a2c”等字符串;还可以制定多个区间,例如“[A-Za-z]”可以匹配任何大小写字母,“[A-Za-z0-9]”可以匹配任何的大小写字母或者数字
():将()之间括起来的表达式定义为“组”(group),并且将匹配这个表达式的字符保存到一个临时区域
改变优先级、定义提取组两个作用
|:将两个匹配条件进行逻辑“或”运算
'z|food'能匹配"z"或"food"
'(z|f)ood'则匹配"zood"或"food"
*:匹配0至多个在它之前的子表达式,和通配符*没关系
例如正则表达式“zo*”能匹配“z”、“zo”以及“zoo”;+:匹配前面的子表达式一次或多次,和*对比(0到多次)
例如正则表达式9+匹配9、99、999等
“zo+”能匹配“zo”以及“zoo”,不能匹