在C#中使用正则表达式来查找匹配" x- [some_string]"

时间:2016-04-06 11:49:03

标签: c# regex

C#中的正则表达式用于查找文本内的匹配项 从" x开始 - ["并以"]"?

结尾

我尝试过这样的事情:

Regex urlRx = new Regex(@"^x-[.*]$", RegexOptions.IgnoreCase);

3 个答案:

答案 0 :(得分:2)

简单:

x-\[([^]]+)\]
# that is: look for x-[ literally
# capture and save anything that is not a ]
# followed by ]

请参阅Django recommends

答案 1 :(得分:2)

这应该有效

string input = "x-[ABCD]";
string pattern = "^x-\\[(.*)\\]$";
Regex rgx = new Regex(pattern);

Match match = rgx.Match(input);

if (match.Success) {
    Console.WriteLine(match.Groups[1].Value);
}

<强> IDEONE DEMO

<强>更新

正如Jan指出的那样,在x-[ABCDEFGHJJHGHGFGHGFVFGHGFGHGFGHGGHGGHGDCNJK]ABCD]等案例中会有太多的回溯。我更新的regex与他的

类似
^x-\[([^\]]*)\]$

答案 2 :(得分:-1)

你真的需要正则表达式吗?简单的String操作应该符合您的目的。

yourString.EndsWith("]");
yourString.StartsWith("x-[");