[英]Regex to match format of (x), (x)
有人可以帮我写一个正则表达式,格式为(x), (x)
,其中x
可以是任何一位数字。 我可以编写匹配(x)
的格式,如下所示:
Regex rgx = new Regex(@"^\(([^)]+\)$", RegexOptions.IgnoreCase)
如果您不需要捕获非数字,那么对于数字,仅实际需要的模式是\\d
。
\\d
每个匹配项都是解析器跨字符串工作时发现的单个数字。
例如:
var values = Regex.Matches("(1) (2)", @"\d")
.OfType<Match>()
.Select (mt => mt.ToString())
.ToArray();
Console.WriteLine ("Numbers found: {0}", string.Join(", ", values));
// Writes out->
// Numbers found: 1, 2
您提供的示例具有RegexOptions.IgnoreCase
。 实际上,这确实会减慢模式匹配的速度,因为解析器必须先将任何字符转换为大写或小写的中性字符, 然后再与目标匹配中的单词进行比较。 考虑到文化,因此“ a”还与“À”,“Ô和“Ä”等相关,它们也必须进行处理。
由于使用数字选项处理数字是没有意义的。
如果您不相信我,请查看Jeff Atwood(Stackoverflow的联合创始人)对regex不区分大小写的答案是否更慢?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.