【发布时间】:2017-05-10 11:09:12
【问题描述】:
正则表达式新手并使用以下代码查找单词是否在结尾/开头包含特殊字符。
String s = "K-factor:";
String regExp = "^[^<>{}\"/|;:.,~!?@#$%^=&*\\]\\\\()\\[0-9_+]*$";
Matcher matcher = Pattern.compile(regExp).matcher(s);
while (matcher.find()) {
System.out.println("Start: "+ matcher.start());
System.out.println("End: "+ matcher.end());
System.out.println("Group: "+ matcher.group());
s = s.substring(0, matcher.start());
}
想查找字符串的开头或结尾是否有任何特殊字符(在此示例代码中为:)。试图跳过角色。 既没有编译时错误,也没有输出。
【问题讨论】:
-
开头和结尾有字母以外的字符要匹配吗?然后使用
"^\\P{L}|\\P{L}$"。您的正则表达式与K-factor不匹配,因为它最后包含:。 -
感谢@WiktorStribiżew 工作得很好。请张贴作为答案,以便其他人可以参考。