如何在正则表达式中转义特殊字符***(.*)

Pav*_*van 4 java regex escaping

我是Java新手.有人能帮助我吗?

Java中是否有任何方法可以自动转义下面正则表达式中的特殊字符?

在逃跑之前***(.*)和逃跑之后\\*\\*\\*(.*)

我不想在这里逃避(.*).

Ste*_*n C 6

从表面上看,Pattern.quote似乎可以胜任这项工作.

但是,查看问题的详细信息,您似乎希望/期望能够逃避某些元字符,而不是其他元字符. Pattern.quote如果将它应用于单个字符串,则不会这样做.相反,它会引用每个角色.(对于记录,它不使用反斜杠.它使用"\ E"和"\ Q".\它可以很好地避免解析字符串以查找需要转义的字符的成本.)

但真正的问题是你还没有说过引用者应该如何决定逃避哪些元字符以及哪些元字符完整无缺.例如,它如何知道逃避前三个' '字符,而不是". "?

没有更清晰的规范,你的问题几乎无法回答.即使有规范,也很难找到一种简单的方法来做到这一点.

IMO,一个更好的方法是在从组件中组装模式之前进行转义...假设这是在这里发生的事情.