0

我对正则表达式只有一些基本的了解。我的目的是捕捉 word 文档中的每一个单词,为此我设计了这个正则表达式。我的 word 文档由写成 Rs.1,00,000/- 的数字组成,它还包含写成 57.58 的小数。它还将包含对不以空格分隔的 F.No.245/12-445/235 之类的文件的引用。

使用以下正则表达式几乎成功

(Rs\.)?((\d{1,2}[\,])?)+(\d{3}\/\-)|([']?[\(]?[A-Za-z0-9][']?[-]?[?]?[!]?[:]?[-]?[.]?[/]?[\.]?[\(]?[\)]?[\(]?[\)]?[\/]?)+

为了捕获单词,我将其从 word 文档中剪切并粘贴到一个文本文件中,然后由 C# 程序读取该文本文件。我的问题是我从不想要出现在单词末尾的句号或点。结束词后跟感叹号或问号也没关系。当我测试它时,它从文本文件中捕获了 13150 个单词,而 word 文档显示有 13158 个单词。

4

1 回答 1

0

您需要非空白字符,后跟空格或“F.No.”:

\S*?(?=\s|(F\.No\.))
于 2013-01-25T15:29:07.173 回答