使用Pattern.LITERAL是否与Pattern.quote相同?

maa*_*nus 6 java regex

更确切地说:做

Pattern.compile(s, x | Pattern.LITERAL)
Run Code Online (Sandbox Code Playgroud)

和

Pattern.compile(Pattern.quote(s), x)
Run Code Online (Sandbox Code Playgroud)

为任何String s和任何其他标志创建等效的正则表达式x?

如果没有,如何模拟Pattern.LITERAL?

maa*_*nus 1

鉴于问题本身,答案是否定的,因为设置 x=Pattern.LITERAL 导致s在第二个表达式中引用两次。使用双引号时,s="A"字符串"A"不会匹配,但字符串"\\QA\\E"会匹配。然而,

Pattern.compile(s, x | Pattern.LITERAL)
Run Code Online (Sandbox Code Playgroud)

似乎相当于

Pattern.compile(Pattern.quote(s), x & ~Pattern.LITERAL)
Run Code Online (Sandbox Code Playgroud)