Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文本文件中任意单词的正则表达式_C#_Regex - Fatal编程技术网

C# 文本文件中任意单词的正则表达式

C# 文本文件中任意单词的正则表达式,c#,regex,C#,Regex,我需要分别捕获文本文件中的每个单词。 单词可以像普通单词、数字、包含连字符的数字等 我对一个词的标准是,不管它是什么,它要么在另一个词之前用空格隔开,要么以点结尾 我试过用C语言编写@”(\w+)“,但它无法捕获上面定义的每个单词以及+-,!@$%^&*();\/|“” 目的是创建一个独特的单词列表。试试看 指: ( - beginning of capture [ - one of.. ^ - none of the following characters \s - a

我需要分别捕获文本文件中的每个单词。 单词可以像普通单词、数字、包含连字符的数字等

我对一个词的标准是,不管它是什么,它要么在另一个词之前用空格隔开,要么以点结尾

我试过用C语言编写
@”(\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。