300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Java正则表达式 匹配中文字符

Java正则表达式 匹配中文字符

时间:2023-06-17 14:15:42

相关推荐

Java正则表达式 匹配中文字符

若要用JAVA正则表达式匹配中文字符,主要是了解中文字符的编码。

匹配中文字符:半角:[\u4e00-\u9fa5] ,全角:[ufe30-uffa0]

匹配中文符号:。 ; , : “ ”( ) 、 ? 《 》的对应编码为:"[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]"

英文字母:[a-zA-Z]

数字:[0-9]

下面的例子是要匹配出字符串中含有“《中英字符*》”的例子,并输出匹配内容,其中.表示除了行终止符之外的所有字符。

public static void main(String[] args) {String patternStr = "\u300a.+\u300b";Pattern pattern = pile(patternStr);String input = "《21世纪经济报道》记者";Matcher matcher = pattern.matcher(input);if (matcher.find()) {int start = matcher.start();int end = matcher.end();System.out.println(input.substring(start, end));}else{System.out.println("not found");}//output: 《21世纪经济报道》}

上例patternStr得到的匹配结果是最长的string。比如若input=”莫言作品《丰乳肥臀》,《红高粱》“, 那么输出的就是”《丰乳肥臀》,《红高粱》“。

若修改patternStr="\u300a[^\u300a]+\u300b"; 即《》内的字符不能为《。 输出的结果就是《丰乳肥臀》。

当然若有具体的数据特征,可进一步改进pattern string。

最近要做一个中文数据的处理,查了一下蛮有意思的。

参考文献:

/jsp/Java/46105.htm

/love_5209/article/details/23353907

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。