正则表达式是包含文本和特殊字符串的字符串
目录
# 常见特殊符号和字符
# 择一符号,方便匹配多个字符串 |
# 匹配任意单个字符
# 从字符串起始或结尾,或者单词边界匹配
# 创建字符集
# 使用圆括号指定分组
# 常见特殊符号和字符
. 匹配任何字符,除\n外
^ 匹配字符串起始部分 例:^Hello
$匹配字符串终止部分
+匹配1次或者多次前面出现的正则表达式 例:[a-z]+\ .com
* 匹配0次或者多次前面出现的正则表达式 [A-Za-z0-9]*
?匹配0或者1次前面出现的正则表达式
{N}匹配N次前面出现的正则表达式 例:[0-9]{3}
[...]匹配字符串集的任意单一函数 例:[deasi]
{M-N}匹配M-N次前面出现的正则表达式 例:[0-9]{5,9}
[^...] 不匹配此字符节出现的任何一个字符,包括某一范围的字符 例:[^aeds],[^A-Za-z0-9]
\d 匹配任何十进制数字,与[0-9]一致(\D与\d相反,不匹配任何非数值型数字) data\d+.txt
\w 匹配任何字母数字符号,与[a-zA-Z0-9]一致(\W与之相反) [A-Za-z_]\w+
\s 匹配任何空格字符。与[\n\t\r\f]相同(与\S相反)and\sme
\b匹配任何单词边界(\B与之相反)\bOR\b
#择一符号,方便匹配多个字符串 |
例:GO | BACK
#匹配任意单个字符
例:t.e 可以匹配 the,tre等
.. 匹配任意两个字符
.end匹配在字符串end之前的任意一个字符
# 从字符串起始或结尾,或者单词边界匹配
特殊情况,相关的特殊字符用于在字符串的起始和结尾部分用于指定搜索模式……
例:
^start 任何以start为开始的字符串
end/of$ 任何以end/of为结尾的字符串
^mn.com$ 任何由单独的字符串mn.com构成的字符串
#创建字符集
b[abcd]t 可以是 bat,bbt,bct等
[ab][cd]可以是 ac,ad
#使用圆括号指定分组
有时候不仅需要知道整个字符串是否匹配我们的标准,而且需要知道能否提取任何已经成功匹配的特定字符串或者子字符串。
当使用正则表达式,一个圆括号可以实现以下任意一个或者两个功能
-对正则表达式进行分组(两个不同的表达式而且想用他们来比较同一个字符串)
-匹配子组(匹配子组能够进行匹配操作外,我们还想提取匹配的模式,例如\w+-\d+,我们想要保存第一部分的字母和第二部分的数字,那么可以划分为:(\w+)-(\d+))
例:\d+(\.\d*)? 表示简单的浮点数字符串,也就是,任何的十进制数字,后面可以接一个小数点和零个或者多个十进制数字,例如:“0.004” ,“6” , “76.“