繁体   English   中英

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

[英]How to escape special characters in the regex ***(.*)

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

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

在转义***(.*)和转义之后\\\\*\\\\*\\\\*(.*)

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

从表面Pattern.quotePattern.quote似乎可以完成这项工作。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM