正则表达式:如何用字符串文字“\ 1”替换?

时间:2010-07-23 11:28:41

标签: regex escaping backreference

我有一个字符串,说r"a"。我想用字符串r"a"替换每个r"\1",但我的正则表达式引擎不理解这一点。

我试过了:

  • r"\1" - 崩溃(因为 没有第1组,因此无法与第1组匹配)
  • r"\\1" - 崩溃(不确定原因)

这是我(专有)正则表达式引擎的限制,还是一般问题?有一种优雅的解决方法吗? (我可以例如将“a”替换为“/ 1”然后替换为StrReplace(“/”,r“\”)......但那不是很好!)

1 个答案:

答案 0 :(得分:2)

正确的方法是使用r"\\1"作为替换字符串。因此,如果您的专有正则表达式引擎/语言在\\上窒息,您应该修复此错误。

如果你看一下你的例子,你根本不需要一个正则表达式引擎。但也许这个例子比实际要求简单......

相关问题