C# 文本文件中任意单词的正则表达式
我需要分别捕获文本文件中的每个单词。 单词可以像普通单词、数字、包含连字符的数字等 我对一个词的标准是,不管它是什么,它要么在另一个词之前用空格隔开,要么以点结尾 我试过用C语言编写C# 文本文件中任意单词的正则表达式,c#,regex,C#,Regex,我需要分别捕获文本文件中的每个单词。 单词可以像普通单词、数字、包含连字符的数字等 我对一个词的标准是,不管它是什么,它要么在另一个词之前用空格隔开,要么以点结尾 我试过用C语言编写@”(\w+)“,但它无法捕获上面定义的每个单词以及+-,!@$%^&*();\/|“” 目的是创建一个独特的单词列表。试试看 指: ( - beginning of capture [ - one of.. ^ - none of the following characters \s - a
@”(\w+)“
,但它无法捕获上面定义的每个单词以及+-,!@$%^&*();\/|“”
目的是创建一个独特的单词列表。试试看
指:
( - beginning of capture
[ - one of..
^ - none of the following characters
\s - a space character (tab, space etc)
\. - a literal dot
]
+ - one or more of the previous block (in []) in a greedy way
) - close of capture block
\. - a literal dot
? - zero or one
它匹配多个非空格(而不是一个点),可以以一个点结尾(但永远不会包含它)。试试看
指:
( - beginning of capture
[ - one of..
^ - none of the following characters
\s - a space character (tab, space etc)
\. - a literal dot
]
+ - one or more of the previous block (in []) in a greedy way
) - close of capture block
\. - a literal dot
? - zero or one
它匹配多个非空格(而不是点),可以以点结尾(但永远不会包含它)。您需要
[^.\s]+
它匹配任何非空格或点的字符序列。您需要[^.\s]+
匹配任何非空格或点的字符序列。使用string.split()并将分隔符定义为空格、点和/或新行。
您也可以使用任何正则表达式作为分隔符
使用string.split()并将分隔符定义为空格、点和/或新行。
您也可以使用任何正则表达式作为分隔符
正则表达式包含一个“单词边界”字符(\b
)。这包括空格和标点符号。由于您的条件包括数字(是否仅限于ASCII?),这可能是针对特定情况的最佳解决方案
你可以试试这个正则表达式:\b([^\b]+)\b
这将匹配一个单词边界,然后匹配一个或多个非边界字符,直到下一个单词边界。正则表达式包含一个“单词边界”字符(\b
)。这包括空格和标点符号。由于您的条件包括数字(仅限ASCII码),这可能是针对您的特定情况的最佳解决方案
你可以试试这个正则表达式:\b([^\b]+)\b
它匹配一个单词边界,然后是一个或多个非边界字符,一直到下一个单词边界。可能是您正在查找的
\b
它通常包含普通单词、连字符连接的单词、由连字符分隔的日期、点和斜线以及文章中指出的内容。发布时间非常长。可能是您正在查找ng代表\b
它通常包含普通单词、连字符连接的单词、用连字符分隔的日期、点和斜线以及帖子中指出的内容。帖子非常长。@ergonaut的答案解决了我的问题。它捕获了我文本文件中的所有内容。我已经接受了这个答案。我可以投票给这个答案吗?怎么做。谢谢。我已经这样做了。我想还有其他事情要做。你能解释一下这个正则表达式是如何工作的吗?它对很多人都有帮助。@ergonaut。由@ergonaut提供的答案解决了我的问题。@ergonaut的答案捕获了我文本文件中的所有内容。我已经接受了这个答案。我可以投票给这个答案吗。以及如何操作。谢谢。我已经接受了完成了。我想还有别的事情要做。你能解释一下这个正则表达式是如何工作的吗?它对很多人都有帮助。@ergonaut。