Я использую VB .NET для написания программы, которая будет получать слова из поставляемого текстового файла и подсчитывать, сколько раз каждое слово появляется. Я использую это регулярное выражение: -
parser As New Regex("\w+")
Это дает мне почти 100% правильных слов. За исключением случаев, когда у меня есть такие слова, как
"Имя файла приложения MS Word - word.exe." или "это утверждение c # If (a> b? 1,0)?"
В таких случаях я получаю [word & exe] AND [If, a, b, 1 и 0] как отдельные слова. было бы неплохо (для моей цели), чтобы я получил word.exe и (если (a> b? 1,0) в качестве слов.
Я думаю, \ w + ищет пробелы, знаки препинания в конце предложения и другие знаки препинания для определения слова.
Я хочу подобное регулярное выражение, которое не будет разбивать слово знаком препинания, если знак препинания не является концом слова. Я думаю, что конец слова может быть определен конечным WhiteSpace, предложение, заканчивающее пунктуацию (вы можете думать о других). если вы можете предложить какое-нибудь регулярное выражение 9 для VB .NET), это очень поможет.
Спасибо.