【发布时间】:2015-04-21 01:13:40
【问题描述】:
我的字符串包含 URL 编码 (%22) 和其他字符 [!@#$%^&*]。我需要使用正则表达式来检查字符串是否包含该组中的字符,但不包括 URL 编码的引号 (%22)。我无法让负面展望正常工作,也无法让排除的字符串(或否定)工作。有人可以帮忙吗?这是到目前为止不起作用的代码:
Pattern p = Pattern.compile("[!@#$%^&*]"); //
String[] tokens = {"%22Hobo%22", "Shoe*", "Rail%6Road","Sugar"};
for (String string : tokens) {
Matcher m = p.matcher(string);
boolean b = m.find()
System.out.println(string + ": " + b);
}
所需的输出应该是假、真、真、假。
【问题讨论】:
-
为什么不使用 URLEncoder?
-
我在示例中添加的内容是为了方便和可读性。
标签: java regex pattern-matching