2024-03-29 10:26:07 发布
网友
我正在寻找正则表达式来取代双颚化符,但只有在单引号内,以提高我的脚本性能。假设我有这样的字符串:
(10070177,4,72,0,819391,'(OP~~SC~~OC~~OV)'~~10070178,4,72,0,819392,'(OP~~SC~~OC~~OV)')
我想在OP和SC,SC和OC之间匹配~~所以只有那些在'。请注意,我需要匹配双颚化符,而不是所有/任何文本。你知道吗
我的脚本语言是Python
给出:
>>> s="(10070177,4,72,0,819391,'(OP~~SC~~OC~~OV)'~~10070178,4,72,0,819392,'(OP~~SC~~OC~~OV)')"
您可以用'引号捕获整个组,并仅替换该子字符串上的~:
'
~
>>> re.sub(r"('[^']+')",lambda m: m.group(0).replace('~','!'), s) (10070177,4,72,0,819391,'(OP!!SC!!OC!!OV)'~~10070178,4,72,0,819392,'(OP!!SC!!OC!!OV)')
这比一个更复杂的正则表达式做同样的事情更容易(而且更健壮、更快)。你知道吗
给出:
您可以用
'
引号捕获整个组,并仅替换该子字符串上的~
:这比一个更复杂的正则表达式做同样的事情更容易(而且更健壮、更快)。你知道吗
相关问题 更多 >
编程相关推荐