Python中的正则表达式示例
文字字符
匹配行首。
Character类
匹配“Python”或“python”
匹配“ruby”或“rube”
匹配任何一个小写的元音
匹配任意数字;与[0123456789]相同
匹配任何小写ASCII字母
匹配任何大写ASCII字母
匹配以上任何一项
匹配小写元音以外的其他任何东西
匹配数字以外的任何内容
特殊字符类
匹配换行符以外的任何字符
匹配数字:[0-9]
匹配一个非数字:[^0-9]
匹配空格字符:[\t\r\n\f]
匹配非空格:[^\t\r\n\f]
匹配一个单词字符:[A-Za-z0-9_]
匹配一个非单词字符:[^A-Za-z0-9_]
重复案例
匹配“rub”或“ruby”:y是可选的
匹配“rub”加上0或更多ys
匹配“rub”加上1或多个ys
精确匹配3位数字
匹配3个或更多数字
匹配3、4或5位数字
非贪婪重复
这匹配最小的重复次数-
贪婪重复:匹配“<python>perl>”
贪心:匹配“<python>perl>”中的“<python>”
用括号分组
无群组:+重复\d
分组:+重复\D\d对
匹配“Python”,“Python,python,python”等。
反向引用
这再次匹配先前匹配的组-
匹配python&pails或Python&Pails
单引号或双引号的字符串。\1匹配第一个匹配的组。\2匹配第二个匹配的组,依此类推。
备择方案
匹配“python”或“perl”
匹配“ruby”或“ruble”
“Python”后跟一个或多个!还是一个?
锚点
这需要指定匹配位置。
在字符串或内部行的开头匹配“Python”
在字符串或行的末尾匹配“Python”
在字符串开头匹配“Python”
在字符串末尾匹配“Python”
在单词边界处匹配“Python”
\B是非单词边界:与“rube”和“ruby”中的“rub”匹配,但不能单独匹配
如果后接感叹号,则匹配“Python”。
如果不带感叹号,则匹配“Python”。