我有下面的示例代码,我试图匹配所有正在启动的word实例
结束
带下划线(单下划线或双下划线)。
import re
test = ['abc text_ abc',
'abc _text abc',
'abc text_textUnderscored abc',
'abc :_text abc',
'abc _text_ abc',
'abc __text__ abc',
'abc _text_: abc',
'abc (-_-) abc']
test_str = ' '.join(test)
print(re.compile('(_\\w+\\b)').split(test_str))
我已经试过下面的正则表达式,它看起来太强了(应该只匹配
_text_
和
__text__
)
输出:
['abc text_ abc abc ', '_text', ' abc abc text', '_textUnderscored', ' abc abc :', '_text', ' abc abc ', '_text_', ' abc abc ', '__text__', ' abc abc ', '_text_', ': abc abc (-_-) abc']
你能建议一个更好的方法吗(最好是使用单一的regex模式和
re.split
方法?