分割 txt 类型英汉对照词典正则表达式解决问题

钻井平台小前辈 2012-12-17 12:59:04
分割如下格式的

crew 船员
captain(master) 船长
chief officer大副
second chief 二副

英汉之间空格不定或者没有(很不规则)

我用的顺序否定环视
string pattern = @"((?![\u4e00-\u9fa5])[\s\S]+)([\u4e00-\u9fa5]+)";


发现匹配完后不对,它把最后一个汉字之前和最后一个汉字分割了
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheng2005 2012-12-17
  • 打赏
  • 举报
回复
我觉得啊,如果这些内容都是分行的,也就是每行一个词的话就不需要用正则。 正则效率实在不高。 直接按空格分词,最后一个词就是中文词,前面的词就是英文词。
翔教授 2012-12-17
  • 打赏
  • 举报
回复
((?![\u4e00-\u9fa5])[\s\S]*?)([\u4e00-\u9fa5]+)应该可以
q107770540 2012-12-17
  • 打赏
  • 举报
回复
([^\u4e00-\u9fa5]+)([\u4e00-\u9fa5]+) or: ((?![\u4e00-\u9fa5])[a-zA-Z\s()()]+)([\u4e00-\u9fa5]+)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧