- 正则匹配要尽可能简单,所谓简单,就是非必要部分要尽可能短。
- 需要保留的位置表达式要细细地写,并且最后用括号括起来,以供替换选择。
- 特别是需要保留的位置的两边缘标志一定要写清楚了。
- Notepad++中
“()”分别表示标记域的开始符的结束符,而在python中“()”表示的是需要借助它进行匹配,但是不作为匹配结果的部分。 \n
,n可以是1到9 代表正在替换的第一到第九的标记域。- […]:字符集(character set),例如,[abc] 代表字符 a,b or c。也可以使用范围,如 [a-z] 代表所有小写字母。
- [^…]非字符集中的字符. 例如,[^A-Za-z] 代表处理大小写字母以外的字符。
^
为行开始符$
为行尾符。*
匹配0次或多次+
匹配1次或多次。- python中
(?<=某某某)abc
放前面,表示python中表示只匹配前面是某某某的abc
,匹配到的是abc
,(?=)
放后面,意思类似上面。 .*?
非贪婪匹配,当有多种可匹配选择时,选短的一个。
虽然不同的地方都会用到正则表达式,规则大同小异。