正则表达式

on under auxilary
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正则表达式思维导图

regexp, python
home
github
archive
category