我正在尝试提出一个数据注释正则表达式来匹配以下格式。
34
38-30
100,25-30
4-5,5,1-5
基本上表达式应该只允许 号码 , -(破折号)和 ,(逗号)以任何顺序
我尝试遵循但无法使其正常工作。
[RegularExpression(@"(0-9 .&'-,]+)", ErrorMessage ="Lot numbers are invalid.")]
最佳答案
我认为您的用例有一个 CSV 数字列表或数字范围(标识为数字后跟破折号后跟另一个数字)。我们可以使用以下正则表达式:
[0-9]+(?:-[0-9]+)?(,[0-9]+(?:-[0-9]+)?)*
此正则表达式匹配一个数字,后跟一个可选的破折号和另一个数字,然后是该数量,然后是逗号和另一个类似的术语,次数不限。
在下面的演示中,我在正则表达式的两侧添加了 anchor 。您是否需要这样做取决于您计划如何使用该模式。
Demo
关于regex - 正则表达式只允许数字、逗号和破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45450483/