Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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,我有下一个正则表达式 \w*\|(?<PORT>\w*)\|(?<NAME>\w*)\| \w*\\\\\\(?\w*)\\\\\\(?\w*)\| 我想得到任何匹配,除非端口等于220 例如: 0 | 220 |凯美瑞|-必须排除匹配项 0 | 112 | Polo |-比赛可以使用消极前瞻: \w*\|(?!220\|)(?<PORT>\w*)\|(?<NAME>\w*)\| ^^^^^^^^^ \w*\\\\\(?!220\)

我有下一个正则表达式

\w*\|(?<PORT>\w*)\|(?<NAME>\w*)\|
\w*\\\\\\(?\w*)\\\\\\(?\w*)\|
我想得到任何匹配,除非
端口
等于220

例如:

0 | 220 |凯美瑞|
-必须排除匹配项


0 | 112 | Polo |
-比赛可以

使用消极前瞻:

\w*\|(?!220\|)(?<PORT>\w*)\|(?<NAME>\w*)\|
     ^^^^^^^^^
\w*\\\\\(?!220\)(?\w*)\\\\\(?\w*)\|
^^^^^^^^^

使用负前瞻:

\w*\|(?!220\|)(?<PORT>\w*)\|(?<NAME>\w*)\|
     ^^^^^^^^^
\w*\\\\\(?!220\)(?\w*)\\\\\(?\w*)\|
^^^^^^^^^

这不符合我的期望。此正则表达式返回匹配,但端口组为空。如果您的正则表达式中有一个额外的
,它应该是:
\w*\\\\\\(?!220\\\\)(?\w*)\\\\\\\\(?\w*)\|
@AlexFilipovici此正则表达式返回匹配,但在组中排除禁止的值。我根本不想获得匹配,如果字符串具有禁止的值,则它只返回一个匹配。证据如下:。这与我的预期不符。此正则表达式返回匹配,但端口组为空。我将完全排除匹配。您有额外的
在您的正则表达式中,它应该是:
\w*\\\\\\\(?!220\\\\)(?\w*)\\\\\\\\\\\\\\(?\w*)\\\\\\\\\\\\
@AlexFilipovici此正则表达式返回匹配,但排除组中的禁止值。我根本不想获得匹配,如果字符串有禁止值,它只返回一个匹配。这是证据:。