要匹配所有有效的python标识符,刚开始我就直接用
pattern = re.compile(r'\b[A-Za-z_]\w*\b')
line='abc acv_ M abc$'
re.findall(pattern,line)
可是结果是
['abc', 'acv_', 'M', 'abc']
‘\b’没有其效果吗?
接着我有换了个pattern
pattern = re.compile(r'(?<![^A-Za-z_ ])\b[A-Za-z_]\w*\b(?![^A-Za-z_ ])')
line = 'kdfs !sldkj$ d;slk'
re.findall(pattern,line)
结果是
['kdfs']
好像正则表达式没有那么好用啊!
有没有更好的方法呢!
求教大佬。