我想替换'|'之间的文本and'/'在字符串(" |伊士曼柯达/")中使用'!!!'。
s = '柯達⑀柯达⑀ /Kodak (brand, US film company)/full name Eastman Kodak Company 伊士曼柯達公司|伊士曼柯达公司/'
print(s)
s = re.sub(r'|.*?/.', '/!!!', s)
print('t', s)
我首先在https://regex101.com/上测试了代码,并且效果很好。
我无法完全弄清楚为什么它没有在Python中进行替换。
逃脱的变体我也尝试过:
s = re.sub(r'|.*?/.', '!!!', s)
s = re.sub(r'|.*?/.', '!!!', s)
s = re.sub(r'|.*?/.', '!!!', s)
每次字符串不变。
您可以将其正则拨号更改为此句,它使用loughounds来确保要替换的内容是|
之前的,然后是/
(?<=|).*?(?=/)
检查此Python代码,
import re
s = '柯達⑀柯达⑀ /Kodak (brand, US film company)/full name Eastman Kodak Company 伊士曼柯達公司|伊士曼柯达公司/'
print(s)
s = re.sub(r'(?<=|).*?(?=/)', '!!!', s)
print(s)
像您期望的那样打印,
柯達⑀柯达⑀ /Kodak (brand, US film company)/full name Eastman Kodak Company 伊士曼柯達公司|伊士曼柯达公司/
柯達⑀柯达⑀ /Kodak (brand, US film company)/full name Eastman Kodak Company 伊士曼柯達公司|!!!/
在线python demo