记录在使用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次 |