我是否总是需要转义非“文字”字符串中的元字符?

2023-11-26

似乎有一个包含字符的字符串{ or }在正则表达式处理期间被拒绝。我可以理解这些是保留字符,我需要转义它们,所以如果我这样做:

string.replaceAll("\\" + pattern);

这有效,在哪里pattern是任何以以下开头的字符串{.

问题:有没有办法避免已经包含此类元字符的字符串出现此类问题,以便自动处理?在我看来,它应该与在字符串文字中添加双引号与接受已经具有双引号的字符串作为输入相同


Use Pattern.quote(String):

public static String quote(String s)

返回文字模式String对于指定的String.

该方法产生一个String可以用来创建一个Pattern这将匹配字符串s就好像它是一个字面上的模式。

输入序列中的元字符或转义序列不会被赋予特殊含义。

参数:
    s- 要文字化的字符串
Returns:
文字字符串替换
Since:
1.5

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我是否总是需要转义非“文字”字符串中的元字符? 的相关文章

随机推荐