用于匹配此字符串的正则表达式
Regex for matching this string
使用 python(正则表达式模块),我正在尝试用 'x' 替换文本中出现的那些字符串中的每个字母 'c' 和:
左边是'a',右边是'b',
其中不再有 'a' 和 'b'。
示例:
cuacducucibcl
-> cuaxduxuxibcl
我该怎么做?
谢谢。
使用下面的正则表达式,然后用 x
替换匹配的 c。为此,您需要安装外部 regex
模块。
>>> import regex
>>> s = 'cuacducucibcl'
>>> regex.sub(r'((?:a|(?<!^)\G)[^abc\n]*)c', r'x', s)
'cuaxduxuxibcl'
使用Python中的标准re
模块,您可以使用a[^ab]+b
来匹配以a
和b
开头和结尾的字符串,并且在两者之间没有任何 a
或 b
的出现, 然后 提供一个替换函数来处理 c
的替换:
>>> import re
>>> re.sub('a[^ab]+b', lambda m: m.group(0).replace('c', 'x'), 'cuacducucibcl')
'cuaxduxuxibcl'
re.sub
的文档供参考。
使用 python(正则表达式模块),我正在尝试用 'x' 替换文本中出现的那些字符串中的每个字母 'c' 和:
左边是'a',右边是'b',
其中不再有 'a' 和 'b'。
示例:
cuacducucibcl
-> cuaxduxuxibcl
我该怎么做?
谢谢。
使用下面的正则表达式,然后用 x
替换匹配的 c。为此,您需要安装外部 regex
模块。
>>> import regex
>>> s = 'cuacducucibcl'
>>> regex.sub(r'((?:a|(?<!^)\G)[^abc\n]*)c', r'x', s)
'cuaxduxuxibcl'
使用Python中的标准re
模块,您可以使用a[^ab]+b
来匹配以a
和b
开头和结尾的字符串,并且在两者之间没有任何 a
或 b
的出现, 然后 提供一个替换函数来处理 c
的替换:
>>> import re
>>> re.sub('a[^ab]+b', lambda m: m.group(0).replace('c', 'x'), 'cuacducucibcl')
'cuaxduxuxibcl'
re.sub
的文档供参考。