Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java Matcher.quoteReplacement()的python等价物_Python_Regex - Fatal编程技术网

java Matcher.quoteReplacement()的python等价物

java Matcher.quoteReplacement()的python等价物,python,regex,Python,Regex,如果要匹配任意字符串文字,Python具有 然而,在我的例子中,我想在中使用任意字符串文字作为替换字符串。re.escape() 有没有Java的等价物?不会repl=repl.replace(“\\\”,“\\\\”)suffee?不会repl=repl.replace(“\\”,“\\\\”)suffee?反斜杠是替换中唯一的“特殊”字符 只有一种明显的方法可以做到这一点,另外还有一种不明显但有文档记录的方法: >>> repl = r"foo\1bar\2zot" >

如果要匹配任意字符串文字,Python具有

然而,在我的例子中,我想在中使用任意字符串文字作为替换字符串。
re.escape()


有没有Java的等价物?

不会
repl=repl.replace(“\\\”,“\\\\”)
suffee?

不会
repl=repl.replace(“\\”,“\\\\”)
suffee?

反斜杠是替换中唯一的“特殊”字符

只有一种明显的方法可以做到这一点,另外还有一种不明显但有文档记录的方法:

>>> repl = r"foo\1bar\2zot"
>>> re.sub(r".*", repl, "frobozz")
Traceback (most recent call last):
[snip]
sre_constants.error: invalid group reference
>>> re.sub(r".*", repl.replace("\\", "\\\\"), "frobozz")
'foo\\1bar\\2zot'
>>> re.sub(r".*", lambda z: repl, "frobozz")
'foo\\1bar\\2zot'
>>>
根据,反斜杠是替换中唯一的“特殊”字符

只有一种明显的方法可以做到这一点,另外还有一种不明显但有文档记录的方法:

>>> repl = r"foo\1bar\2zot"
>>> re.sub(r".*", repl, "frobozz")
Traceback (most recent call last):
[snip]
sre_constants.error: invalid group reference
>>> re.sub(r".*", repl.replace("\\", "\\\\"), "frobozz")
'foo\\1bar\\2zot'
>>> re.sub(r".*", lambda z: repl, "frobozz")
'foo\\1bar\\2zot'
>>>

我认为是这样。。。我能肯定这一点吗?除了反斜杠外,替换字符串中还有其他魔法字符吗?+1。正如@sln所说的,还有
\g
语法,但是避开反斜杠也能解决这个问题。我想是的。。。我能肯定这一点吗?除了反斜杠外,替换字符串中还有其他魔法字符吗?+1。正如@sln所说的,还有
\g
语法,但是避开反斜杠也可以解决这个问题。