我在.net
中有两个正则表达式字符串preRegex = "(?<=(^|[^A-Za-z0-9]+))"
postRegex = "(?=([^A-Za-z0-9]+)|$)"
我想在python中使用他们的替代品。我的问题是让我说我有一个字符串
s="I am in aeroplane."
我需要的是用aeroPlain&#34;替换飞机。所以我想制作正则表达式
newKey = preRegex + aeroplane + postRegex
pattern = re.compile(newKey,re.IGNORECASE)
新的正则表达式字符串看起来像
(?<=(^|[^A-Za-z0-9]+))aeroplane(?=([^A-Za-z0-9]+)|$)
但它给了我错误&#34;后视需要固定宽度模式&#34;。 我是python的新手,帮助将不胜感激。感谢
答案 0 :(得分:0)
您可以使用以下正则表达式:
(^|[^A-Za-z0-9]+)aeroplane([^A-Za-z0-9]+|$)
当您更换时,可以将后退参考调用到正则表达式的第一部分和第二部分以获取其值。
替换字符串将类似于'\1aeroPlain\2'
。
有关python中backref的更多信息:https://docs.python.org/3/howto/regex.html