我想匹配出现在字符串或单词末尾的特殊字符。特殊字符为\.,;:-_
。
可以使用什么正则表达式?
答案 0 :(得分:4)
$
匹配字符串的结尾,请尝试:
[\\.,;:\-_]+$
由于\
是特殊的正则表达式字符,因此您应该使用\
将其转义,因此它在正则表达式中变为\\
。 character class中的-
也有特殊含义,因为它用于创建a-z
等字符范围,因此您需要将其转义。
此外,由于您询问Java,您需要知道\
需要写为"\\"
,因为它也是String literal中的特殊字符,因此带有正则表达式的String看起来像
"[\\\\.,;:\\-_]+$"
答案 1 :(得分:2)
您可以使用正则表达式\w+[\\.:;_,-]+(?= |$)
在java代码中使用类似的东西:
String val="dev\\ devendra. devendra, dev dev, dev; devendra: wan.gikar devendra: windchill- windchill- serviceCenter_ sC_Windchill";
String REGEX="\\w+[\\\\.:;_,-]+(?= |$)";
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher(val);
while(matcher.find()){
System.out.println(matcher.group());
}
<强>输出强>
dev\
devendra.
devendra,
dev,
dev;
devendra:
devendra:
windchill-
windchill-
serviceCenter_
有关详细信息,请参阅 this 。
说明: