Java 将字符串末尾的特殊字符与正则表达式匹配
我想匹配出现在字符串或单词末尾的特殊字符。特殊字符是Java 将字符串末尾的特殊字符与正则表达式匹配,java,regex,Java,Regex,我想匹配出现在字符串或单词末尾的特殊字符。特殊字符是\,;:-_ 什么正则表达式模式可以用于此操作?$匹配字符串结尾,请尝试: [\\.,;:\-_]+$ 由于\是特殊的正则表达式字符,因此应使用\对其进行转义,使其成为正则表达式中的\。另外,中的-具有特殊意义,因为它用于创建一系列字符,如a-z,因此需要对其进行转义 另外,由于您询问Java,您需要知道\需要写成“\\\”,因为它也是字符串文字中的特殊字符,所以带有regex的字符串看起来像 "[\\\\.,;:\\-_]+$" 您可以使
\,;:-_代码>
什么正则表达式模式可以用于此操作?$
匹配字符串结尾,请尝试:
[\\.,;:\-_]+$
由于\
是特殊的正则表达式字符,因此应使用\
对其进行转义,使其成为正则表达式中的\
。另外,中的-
具有特殊意义,因为它用于创建一系列字符,如a-z
,因此需要对其进行转义
另外,由于您询问Java,您需要知道\
需要写成“\\\”
,因为它也是字符串文字中的特殊字符,所以带有regex的字符串看起来像
"[\\\\.,;:\\-_]+$"
您可以使用正则表达式\w+[\\.:;\u,-]+(?=\ 124;$)
在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_
有关更多详细信息,请参阅
说明:
您不需要在[…]
中转义
,但转义-
会很好,因为它用于在字符类中创建字符范围,如[a-z]
。谢谢!我想从那以后。是正则表达式字符,它也应该转义。通常会转义,但[]
也是转义某些特殊字符的好机制,例如,您可以通过这种方式转义[*]
[$]
和许多其他正则表达式元字符。另外,由于Devendra询问特殊字符,您可能应该使用+
来匹配其中的一个或多个。[\\\\,;:\\-\]$不起作用。当我从中删除$时,所有特殊字符都会匹配,但不仅仅是字符串/单词末尾的字符。请建议使用工作表达式。对于以特殊字符结尾的此类单词,如何仅删除特殊字符?