[英]Regex for integers delimited by commas
我需要一個只允許用逗號2,-3,4
分隔的整數(正數和負數)的正則Regex
,但逗號應該只在兩個整數的中間, 而不是在開頭或結尾或兩個連續的逗號,如23,34,,4
。
目前我有這個:
Regex regex = new Regex(@"^\d{1,10}([,]\d{10})*$");
if (!regex.IsMatch("123,34,2,34,234"))
但它似乎不匹配甚至拒絕有效輸入的東西,如123,34,2,34,234
你能指出我上面的正則表達式有什么問題嗎?
\\d{10}
子模式僅匹配10位數的塊。
你需要允許1到10 {1,10}
(或1和更多+
)
@"^\d{1,10}(?:,\d{1,10})*$"
要么
@"^\d+(?:,\d+)*$"
注意使用不存儲子匹配的非捕獲組(?:...)
,並且僅用於對子模式序列進行分組。
請參閱正則表達式演示
編輯:要允許匹配負值,請添加可選項-
:
@"^-?\d+(?:,-?\d+)*$"
^^ ^^
看另一個正則表達式演示 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.