繁体   English   中英

Python 正则表达式 re.sub 替换为所需

[英]Python regex re.sub substitution to as desired

使用 Python 3 考虑这个正则表达式:

[\||JI|\[|\]NL\||JI|\[|\]]

这将针对一个字符串进行部署,例如:

INLI VERONICA HD / DISNEY XD

Python 使用:

import re

new_string = re.sub("[\||JI|\[|\]NL\||JI|\[|\]]", "", old_string)
print(new_string)

预期 output:

VERONICA HD / DISNEY XD

实际 output:

NL VEROCA HD / DSEY XD

为了说明一些上下文, NL可以包含在字符JI|的任意组合中。 , [] ,因此正则表达式中提供了 or 或选项。 有人建议如何修改以获得所需的 output?

谢谢

您可以使用

[][|JI]*NL[][|JI]*

请参阅正则表达式演示 详情

  • [][|JI]* - 零个或多个] , [ , | , JI字符
  • NL - NL字符串
  • [][|JI]* - 零个或多个] , [ , | , JI字符。

请参阅Python 演示

import re
old_string = "INLI VERONICA HD / DISNEY XD"
new_string = re.sub(r"[][|JI]*NL[][|JI]*", "", old_string).strip()
print(new_string)
# => VERONICA HD / DISNEY XD

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM