记录在使用sublime时碰到的情况
引用:自动添加空格功能py代码
exp = '(([\+\-\*/%=<>\|&\^\?~]|(<<)|(>>))(=)|(!=)|(#[0-9]+)|([\+\-](:)))|((?<=[\w ])(([<>&\|]{2})|[\+\-\*/%=<>\|&\^\?])(?=[\w ]))|(=(?=~))'
# += -= *= /= %= == <= >= |= &= ^= ?= ~= <<= >>= != #xxx +: -:
# 字母 << >> || + - * / & ^ ? 字母
# a = ~b
# # (?<=[\w ])前面是字母; (?=[\w ])后面是字母
# # (a)(b): ab; [ab]=a or b; (a)|(b):a式 或 b式。
转义字符:\
| 式 | 义 | 例 | 注 |
|---|---|---|---|
| (a)(b) | a式与b式按此顺序相连 | (>>)(=):>>= | ( )是基本单元 |
| [ab] | a字符或b字符 | ([0-9]):0~9 | [ ]写在( )内 |
| (a)|(b) | a式或b式 | ([0-9])|([a-z]):数字或小写字母 | |
| \w | 字母、数字、下划线 | ||
| \d | |||
| (?<=[]) | 预判断,此前位置出现 | (?<=[a-zA-Z])(=):字母= | 匹配的是等号= |
| (?=[]) | 尾判断,此后位置出现 | (?<=[a-zA-Z])(=)(?=[0-9]):字母=数字 | 匹配的是等号= |
| {n} | 重复n次 | ([a-zA-Z]{4}):连续4个字母 | |
| {m,n} | 至少重复m次至多重复n次 |
本文详细解析了在Sublime编辑器中实现Python代码自动添加空格功能的正则表达式,深入探讨了正则表达式的各种元素及语法,如转义字符、预判断、尾判断、重复次数等,并通过具体实例展示了如何匹配各种运算符、赋值符号及特殊字符。
9万+

被折叠的 条评论
为什么被折叠?



