【发布时间】:2010-04-19 19:52:35
【问题描述】:
我正在使用 VB .NET 编写一个程序,该程序将从提供的文本文件中获取单词并计算每个单词出现的次数。我正在使用这个正则表达式:-
parser As New Regex("\w+")
它给了我几乎 100% 正确的单词。除非我有像
这样的词"Ms Word App 文件名为 word.exe。"或“这是一个 c# 语句 If(a>b?1,0) 吗?”
在这种情况下,我得到 [word & exe] AND [If, a, b, 1 and 0] 作为单独的词。我收到 word.exe 和 (If(a>b?1,0) 作为单词会很好(出于我的目的)。
我猜 \w+ 寻找空格、句子终止标点符号和其他标点符号来确定一个单词。
如果标点符号不是单词的结尾,我想要一个类似的正则表达式,它不会用标点符号打断单词。我认为词尾可以由尾随的 WhiteSpace、Sentence termination 标点符号定义(您可能会想到其他人)。如果您可以建议一些用于 VB .NET 的正则表达式 9),那将很有帮助。
谢谢。
【问题讨论】: