正则表达式 + 在模式中包含一个空格

key*_*oss 4 c# regex arrays function output

我试图弄清楚如何编写一个模式来匹配以下内容:“3Z 5Z”。其中的数字可能会有所不同,但 Z 是恒定的。我遇到的问题是尝试包含空白...目前我将此作为我的模式

 pattern = @"\b*Z\s*Z\b";
Run Code Online (Sandbox Code Playgroud)

“*”代表“Z”之前数字的通配符,但它似乎不想使用其中的空格。例如,我可以成功使用以下模式来匹配没有空格的同一事物(即 3Z5Z)

pattern = @"\b*Z*Z\b";
Run Code Online (Sandbox Code Playgroud)

我正在用 .NET 4.0 (C#) 编写这个程序。任何帮助深表感谢!

编辑:此模式是较大字符串的一部分,例如:3Z 10Z lock 425"

Fai*_*Dev 5

尝试这个:

\n\n
pattern = @"\\b\\d+Z\\s+\\d+Z\\b";\n
Run Code Online (Sandbox Code Playgroud)\n\n

解释:

\n\n
"\n\\b    # Assert position at a word boundary\n\\d    # Match a single digit 0..9\n   +     # Between one and unlimited times, as many times as possible, giving back as needed (greedy)\nZ     # Match the character \xe2\x80\x9cZ\xe2\x80\x9d literally\n\\s    # Match a single character that is a \xe2\x80\x9cwhitespace character\xe2\x80\x9d (spaces, tabs, line breaks, etc.)\n   +     # Between one and unlimited times, as many times as possible, giving back as needed (greedy)\n\\d    # Match a single digit 0..9\n   +     # Between one and unlimited times, as many times as possible, giving back as needed (greedy)\nZ     # Match the character \xe2\x80\x9cZ\xe2\x80\x9d literally\n\\b    # Assert position at a word boundary\n"\n
Run Code Online (Sandbox Code Playgroud)\n\n

顺便一提:

\n\n
\\b*\n
Run Code Online (Sandbox Code Playgroud)\n\n

应该抛出异常。\\b是一个词锚。你无法量化它。

\n