正则表达式如何匹配中文字符?如何在一段中英混合的文本中找出中文字符?
最近处理一个lrc歌词文件,英文歌词里面含有中文解释,中文解释跟英文解释不是同时出现的,如下图所示:
[01:17.739]Desert Rose Why do you live alone
[01:20.100]沙漠玫瑰 为何你独自生存
[01:24.180]If you are sad,I'll make you leave this life
[01:25.920]若你悲哀,我将使你离开此生
[01:30.020]Are you white, blue or bloody red
[01:32.708]你是蓝色、白色、还是如血般的红
[01:38.069]All I can see is drowning in cold gray sand
[01:39.159]我所能见的全都淹没在冷灰的沙中
[01:44.937]The winds of time
[01:45.569]时间之风
知道这是什么歌曲吗?:)
中文翻译跟英文歌词不是在同一行,使用桌面歌词显示比较混乱,而且中文歌词不是很有必要的,于是想把中文歌词去掉了。一行一行删是不爽滴,这首歌有30分钟之长……正好翻一下正则表达式复习一下吧。
网上搜索到“[\u4e00-\u9fa5]”匹配所有中文字符,实际测试结果是把数字、英文、中文全部匹配了,不知道怎么回事,百度搜索到的匹配中文字符方法都是这样的。
于是去翻舍得的正则表达式实用教程,原来是这么简单! “[[:unicode:]]” (不含分号)就可以匹配中文字符了!在此感谢舍得!
很快就处理好了该歌词文件,匹配中文字符实在是很有用啊!
版权声明:
作者:古意人
链接:http://www.guyiren.com/843.html
文章版权归作者所有,未经允许请勿转载。
THE END