如何构造一个在java中转义所有元字符的模式?

如何构造一个在java中转义所有元字符的模式?,java,Java,我想匹配其中一个不断变化的单词对(循环字符串数组)。问题是这个词可能包含元字符,我不知道是哪个,所以手动转义它们有点问题。有没有一种方法可以构造一个已经在java中转义其所有元字符的字符串模式?如果您专门讨论正则表达式,正如“匹配词”所暗示的那样,那么您想要的方法是 在更一般的意义上,当你不知道你的目标语法是什么时,没有办法自动转义“元字符”。原则上,任何字符都可能具有特殊的非字面意义,而转义它的方式完全取决于目标语法。在正则表达式中,它的前缀是反斜杠,但对于您的问题,不清楚您是否在谈论正则表达

我想匹配其中一个不断变化的单词对(循环字符串数组)。问题是这个词可能包含元字符,我不知道是哪个,所以手动转义它们有点问题。有没有一种方法可以构造一个已经在java中转义其所有元字符的字符串模式?

如果您专门讨论正则表达式,正如“匹配词”所暗示的那样,那么您想要的方法是


在更一般的意义上,当你不知道你的目标语法是什么时,没有办法自动转义“元字符”。原则上,任何字符都可能具有特殊的非字面意义,而转义它的方式完全取决于目标语法。在正则表达式中,它的前缀是反斜杠,但对于您的问题,不清楚您是否在谈论正则表达式。

您有一个带有元字符的字符串,但您不知道确切的元字符是什么。但在某种程度上你知道什么是元字符


如果您知道所有可以显示在字符串中的元字符,只需将它们列在组中:
[\*abc\$\.\,\s]
(该组在regexp中表示您可以遇到其中一个字符,例如星形、a、b、c、巴克($)、点、逗号、空格)。您还可以使用
^
[^…]
)来反转逻辑。

如果要使用正则表达式,您需要知道要转义的内容或不想转义的内容。您的意思是转义吗?您能给出一个输入和预期输出的示例吗?在StackOverflow中搜索“[java]转义字符串中的特殊字符”。你会惊讶于这个问题的每一个可以想象的变体都被贴了多少次。@Thomas:是的,对不起我的英语。谢谢你的更正。@MarkoTopolnik:我已经这么做了。。。我在坚定的语言中找到了关于逃避特定元字符的问题,但不是我要问的。谢谢!这就是我要找的。