作为前言,我意识到还有其他关于用逗号分隔数字的正则表达式的主题,但是当我尝试使用这些解决方案时,它们不起作用。
基本上,我正在尝试创建一个正则表达式来识别逗号分隔的数字(在这种情况下没有空格)。在尝试将其转换为实际的正则表达式语法之前,我意识到它可能应该像这样工作,其中 'd' 是一个数字,',' 是一个逗号,而 '+' 是一个 kleene plus:
((d+),)*(d+)
或者
(d+)(,(d+))*
这是我在 Apex 验证中使用的代码,以确保某个字段是由逗号分隔的数字列表,不带空格(注意:我尝试了几种变体但无济于事,但只会发布一个):
(\d+,)*(\d+)
出于某种原因,这不起作用,但它似乎是任何数字 1 次或更多次后跟单个逗号的正确语法,并且整个表达式可以重复 0 次或更多次,并且整个重复表达式应该始终是后跟至少 1 位数字。
这个表达式在实践中确实可以识别所有接受的形式(例如:100 或 100,200 等),但由于某种原因,它也接受类似的答案
'100,200,'
或者
'100,200,,'
或者
'100,,200'
我很困惑为什么这不会像以前给出的解决方案那样有效,这些解决方案似乎和我做的一样。提前感谢您的帮助!