在Java正则表达式中,它具有"\ B"作为非单词边界.
http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
如果我有'char',我怎么检查它是非字边界?
谢谢.
边界具有特殊意义.它实际上是一个零长度匹配,因此不能匹配单个字符.它用于确定非单词char和word-char之间的位置.另见http://regular-expressions.info/wordboundaries.html.
然而,我理解这个问题更多的是给定的char是否可能表示单词边界的开始或结束.从您链接的javadoc(这是最新版本):
预定义的字符类
.任何字符(可能与行终止符匹配也可能不匹配)
\d数字:[0-9]
\D非数字:[^0-9]
\s空白字符:[ \t\n\x0B\f\r]
\S非空白字符:[^\s]
\w单词字符:[a-zA-Z_0-9]
\W非单词字符:[^\w]
所以,一个单词字符匹配\w.非单词字符匹配\W.所以:
String string = String.valueOf(yourChar);
boolean nonWordCharacter = string.matches("\\W");
Run Code Online (Sandbox Code Playgroud)