正则表达式
1 minute read
0x01 notes
1.匹配\n换行符
re.search("\n",string)
re.search("\\n",string)
re.search("\\\n",string)
re.search(r"\n",string)
上面这四种都可成功匹配
r=raw[原生]
2.good knowledge
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
3.在线测试:
https://regex101.com/
http://tool.chinaz.com/regex/
4.python一般默认贪婪模式,变成非贪婪方法:
*? 使*变成非贪婪模式
+? 使+变成非贪婪模式
?? 使?变成非贪婪模式
{m,n}? 使{m,n}变成非贪婪模式
5.正则表达式 - 运算符优先级
http://www.jb51.net/article/52491.htm
6.匹配不包含
http://www.jb51.net/article/52491.htm
7.前向界定|后向界定|前向非界定|后向非界定
http://blog.csdn.net/smilelance/article/details/6529950
8.匹配除\n以外的所有空白字符
[^\S\n]
原来想这样:[\s[^\n]]
还有这样:[\s(?<!\n)]
结果都不可以,正则的存在需要多多口味,存在\s\S,\w\W,\d\D的现象不是随便就存在的,
简单的逻辑组合就可成为强大的匹配利器
9.linux中grep正则用法
找出8000端口的pid
netstat -ntlp | grep 8000 | grep -oP '\d{1,4}(?=\/)'
10.re中flags用法
re.compile(r"nihao",flags=re.I)==re.compile(r"nihao",re.I)
re.search(r"nihao","Nihao lalala",flags=re.I)==re.search(r"nihao","Nihao lalala",re.I)
11.python正则表达式思维导图