簡體   English   中英

用逗號分隔的整數的正則表達式

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM