Python中的正则表达式探秘1
来源:互联网 发布:装潢设计效果图软件 编辑:程序博客网 时间:2024/06/05 01:56
正则表达式中的特殊字符:
$匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。( )标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。*匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。+匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。.匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。[标记一个中括号表达式的开始。要匹配 [,请使用 \[。?匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。\将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "("。^匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。{标记限定符表达式的开始。要匹配 {,请使用 \{。|指明两项之间的一个选择。要匹配 |,请使用 \|。
re.I
re.IGNORECASE让正则表达式忽略大小写,这样一来,[A-Z]也可以匹配小写字母了。此特性和locale无关。
re.L
re.LOCALE
让\w、\W、\b、\B、\s和\S依赖当前的locale。
re.M
re.MULTILINE
影响'^'和'$'的行为,指定了以后,'^'会增加匹配每行的开始(也就是换行符后的位置);'$'会增加匹配每行的结束(也就是换行符前的位置)。
re.S
re.DOTALL
影响'.'的行为,平时'.'匹配除换行符以外的所有字符,指定了本标志以后,也可以匹配换行符。
re.U
re.UNICODE
让\w、\W、\b、\B、\d、\D、\s和\S依赖Unicode库。
re.X
re.VERBOSE
运用这个标志,你可以写出可读性更好的正则表达式:除了在方括号内的和被反斜杠转义的以外的所有空白字符,都将被忽略,而且每行中,一个正常的井号后的所有字符也被忽略,这样就可以方便地在正则表达式内部写注释了。
#!/usr/bin/pythonimport re line = "Cats are smarter than dogs" matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)#在字符串前加上r 表示原生字符 if matchObj: print "matchObj.group() : ", matchObj.group() print "matchObj.group(1) : ", matchObj.group(1) print "matchObj.group(2) : ", matchObj.group(2)else: print "No match!!"
阅读全文
0 0
- Python中的正则表达式探秘1
- Python中的正则表达式1
- PYTHON中的正则表达式(1)。
- python 中的正则表达式
- python中的正则表达式
- Python中的正则表达式
- Python中的正则表达式
- Python中的正则表达式
- python中的正则表达式
- Python中的正则表达式
- python中的正则表达式
- python中的正则表达式
- Python中的正则表达式
- python中的正则表达式
- Python中的正则表达式
- Python中的正则表达式
- python中的正则表达式
- Python中的正则表达式
- 关于 SetProcessWorkingSetSize 的那点事儿
- 变化总是那么大
- 20170711
- Python函数-int()
- 【莫比乌斯反演】BZOJ2154Crash的数字表格&BZOJ2693jzptab
- Python中的正则表达式探秘1
- 棋牌开发需要注意哪些事项
- android开发:activity继承AppCompatActivity 去掉标题栏
- .net数组集合字符串
- linux常用指令
- 【Android】- MediaPlayer错误之MediaPlayer start called in state 0
- 使用JS让网站自动跳转到对应的WAP页面
- html表单设计
- Java设计模式之观察者模式