下划线C#的Reqular表达式

本文关键字:表达式 Reqular 下划线 | 更新日期: 2023-09-27 18:24:21

我需要一个Reqular表达式来识别C#代码中以下格式的字符串。字符串将始终以"REG"开头,并包含3个下划线,下划线之间有2个单词和一个数字。参见以下示例:

Example: "REG_SOFTWARE_SECURITY_1234"

我使用了以下REGEX表达式,由您的论坛建议:

"'b[a-zA-Z0-9_]+'b"

但它通过了错误的输入,比如:

REG_1234

因此,它应该只传递格式为"REG_SOFTWARE_SECURITY_1234"的输入。有什么建议吗?

下划线C#的Reqular表达式

我认为您的正则表达式没有问题。您可能在c#中使用错误。

试试这个

var str="ALPHABET_ ALPHABET _ ALPHABET _99";
var res = Regex.Matches(str,@"'b[a-zA-Z0-9_]+'b");
foreach (Match match in res)
{
    Console.WriteLine(match.Value);
}

Fiddle Here

搜索字符串中的反斜杠没有按预期进行解释。C#字符串"'b[a-zA-Z0-9_]+'b"以"退格"0x0008字符开始和结束。

要匹配示例字符串,需要使用"''b[a-zA-Z0-9_]+''b"@"'b[a-zA-Z0-9_]+'b"作为正则表达式。

如果任务是用两个单词和一个由三个下划线分隔的数字来匹配字符串,那么以下操作应该有效:

@"''b[a-zA-Z]+_[a-zA-Z]+_[a-zA-Z]+_[0-9]+''b"

你指的是ALPHABET的一个字母吗?

如果你想要空白,并且你在搜索单词,而不仅仅是字母,那么你可以尝试'w+_ 'w+ _ 'w+ _'d+

如果您想找到像Letter Underscore Blank等模式,请尝试'w_ 'w _ 'w _'d