[英]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.