<分区>
C# 中验证以下条件的最佳正则表达式是什么?
1, 2-10,5-10,6,9-100 - 它类似于指定为范围的页码或用逗号分隔的单个页码。
<分区>
C# 中验证以下条件的最佳正则表达式是什么?
1, 2-10,5-10,6,9-100 - 它类似于指定为范围的页码或用逗号分隔的单个页码。
最佳答案
试试下面的表达式:
\d+(?:-\d+)?(?:,\d+(?:-\d+)?)*
请注意,该模式非常脆弱,因为它不允许任何空白。
这个想法是围绕主要子模式\d+(?:-\d+)?
构建的:
\d+
— 匹配一个或多个连续数字(独立或作为左范围边界)-\d+
— 匹配减号后跟一位或多位数字(右范围边界)尾随问号使减号和右范围边界可选(这也需要匹配单个页码); (?:)
表示 non-capturing group .
关于c# - 页面范围的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20480155/