Skip to main content
 首页 » 编程设计

python之反转交替正则表达式

2024年11月01日32yyy_WW

我有一个替代正则表达式,我想反转但似乎无法让它工作,它看起来像这样:

( |\w+-\w+| \+\w+|\w) 

这将提取除单词中间的 - 或单词前面的 + 之外的所有特殊字符。问题是我想删除此正则表达式未涵盖的所有内容,但简单的解决方案是 ?!在这个前面是行不通的。

示例输入:-xxx xxx- xx-xx +xxx xxx+ xx+xx
期望的输出:xxx xxx xx-xx +xxx xxx xxxx

感谢您的帮助,

马蒂亚斯

请您参考如下方法:

你的问题有点不清楚,你是在找这个吗?

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)\+