Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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中的正则表达式获取实际的子字符串#_C#_.net_Regex - Fatal编程技术网

C# 使用c中的正则表达式获取实际的子字符串#

C# 使用c中的正则表达式获取实际的子字符串#,c#,.net,regex,C#,.net,Regex,我有这个图案 @($\w+) 例如,它将成功地捕获长文本中的$substring子字符串以及文本的其余部分 但在某些情况下,它会失败,例如some string$sub.string字符串的其余部分将只返回$sub 如何从字符串中获取实际完整的子字符串?您可以使用 \$\S+ 看 注意:如果你想去掉任何尾随标点符号(除了\u),你可以在末尾添加\b,\$\S+\b 详情: \$-a$字符(需要转义,因为$是一个特殊的元字符,用于断言字符串的结束位置) \S+-任何一个或多个非空白字符 在C

我有这个图案

@($\w+)

例如,它将成功地捕获
长文本中的
$substring
子字符串
以及文本的其余部分

但在某些情况下,它会失败,例如
some string$sub.string字符串的其余部分
将只返回
$sub

如何从字符串中获取实际完整的子字符串?

您可以使用

\$\S+

注意:如果你想去掉任何尾随标点符号(除了
\u
),你可以在末尾添加
\b
\$\S+\b

详情:

  • \$
    -a
    $
    字符(需要转义,因为
    $
    是一个特殊的元字符,用于断言字符串的结束位置)
  • \S+
    -任何一个或多个非空白字符
在C#中,您可以使用

\$\S+
var output=Regex.Matches(文本,@“\$\S+”).Cast().Select(x=>x.Value).ToList();

你可能有
@“\$\w+”
,你想要
\$\S+
@WiktorStribiżew如果你发布完整回复,我可以将其标记为已解决。