我有一个替换正则表达式,我想要反转,但似乎无法让它工作,它看起来像这样:
( |\w+-\w+| \+\w+|\w)
将提取所有特殊字符,除了 - 在单词的中间或单词前面的+。问题是,我想删除这个正则表达式未涵盖的所有内容,但是放置的简单解决方案?!在这之前不起作用。
示例输入:-xxx xxx- xx-xx +xxx xxx+ xx+xx
期望的输出:xxx xxx xx-xx +xxx xxx xxxx
感谢您的帮助,
的Mattias
答案 0 :(得分:2)
你的问题有点不清楚,你在找这个吗?
a = "abc def,ghi remove - this keep-that foo + bar +keep!"
import re
print re.sub(r'[^\w\s+-]|(?<!\w)-(?!\w)|\+(?!\w)', '', a)
#abc defghi remove this keep-that foo bar +keep
更准确的正则表达式:
[^\w\s+-]|^-|-$|\+$|(?<=\W)-|-(?=\W)|\+(?=\W)|(?<=\w)\+