python - 正则表达式删除python中的特定单词

标签 python regex python-2.7

我想在 python 中使用正则表达式进行一些操作。

所以输入是+1223,+12_remove_me,+222,+2223_remove_me 和 输出应该是 +1223,+222

输出应该只包含逗号分隔的单词,不包含 _remove_me 并且每个单词之间只有一个逗号。

注意:我试过的正则表达式 \+([0-9|+]*)_ , \+([0-9|+] *) 和其他一些我没有得到所需输出的组合。

注意 2 我不能使用循环,只需要在没有循环的情况下使用正则表达式。

最佳答案

您的正则表达式似乎不完整,但您走在正确的轨道上。请注意,字符类中的管道符号被视为文字,您的 [0-9|+] 匹配数字或 |+ 符号。

你可以使用

,?\+\d+_[^,]+

参见 regex demo

解释:

  • ,? - 可选的,(如果“单词”在字符串的开头,应该是可选的)
  • \+ - 文字 +
  • \d+ - 1+ 位
  • _ - 文字下划线
  • [^,]+ - 除了 ,
  • 之外的 1+ 个字符

Python demo :

import re
p = re.compile(r',?\+\d+_[^,]+')
test_str = "+1223,+12_remove_me,+222,+2223_remove_me"
result = p.sub("", test_str)
print(result)
# => +1223,+222

关于python - 正则表达式删除python中的特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36311931/

相关文章:

python - 在python解释器中执行多行时出错

python - 如何在 Pandas 数据框中制作相同数量的观察值?

python - 如何使用两个相同维度的矩阵执行逐元素自定义函数

javascript - 如何在javascript函数中执行python代码(.py文件)?

python - 不遵守最小、最大限制的垂直线(matplotlib)

c# - 根据本地安全策略验证新的 AD 密码?

javascript - 不接受 0-0-0 的正则表达式是什么?

java - 在任意字符串中转义正则表达式字符类的简单方法?

python - 如何获得具有相同最高值的所有键?

python - 如何在退出主线程之前确保队列为空