下划线C#

时间:2015-11-26 06:05:36

标签: c# regex

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

Example: "REG_SOFTWARE_SECURITY_1234"

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

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

但它传递了错误的输入,如:

REG_1234

因此,它只应以格式传递输入 - " REG_SOFTWARE_SECURITY_1234"有什么建议?

3 个答案:

答案 0 :(得分:1)

我没有看到你的正则表达式的问题。您可能在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

答案 1 :(得分:0)

你的意思是ALPHABET写的一封信吗?

然后你可以尝试\w+_ \w+ _ \w+ _\d+,如果你想要空格,你正在搜索单词,而不仅仅是字母。

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

答案 2 :(得分:0)

搜索字符串中的反斜杠未按预期解释。 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” 的