的页面范围
回答
试试下面的表达式:
\d+(?:-\d+)?(?:,\d+(?:-\d+)?)*
注意模式是相当脆弱的,因为它不允许任何空白原样。
的想法是围绕主子模式\d+(?:-\d+)?
建:
\d+
- 匹配一个或多个连续的数字(无论是单机还是作为左范围边界)-\d+
- 匹配减号后跟一个或多个数字(右侧范围边界)
拖尾问号使得减号d正确的范围边界可选(它也需要匹配单个页码); (?:)
表示non-capturing group。
这是完美的。谢谢! – user2325247
@ user2325247很高兴能帮到你。请考虑接受这个答案,如果它解决了你的问题! –
此正则表达式将单独匹配每一个页面范围:
\d+-\d+|\d+
我交替使用来实现这一目标。在\d+-\d+
(页号范围)不匹配的情况下,它将简单地匹配一个单一的,无限数量\d+
。
如果你遇到的页面范围之间的任何字符,除了-
,你将需要改变正则表达式。
当我剪切和粘贴您的样本串,我注意到一个空格后面的1,
在开始的时候:
1, 2-10,5-10,6,9-100
^
我不知道这是否是故意的,但我认为这是合理的允许一个或多个空格字符围绕逗号。
这就是说,这里是一个正则表达式这将满足您的要求:
^[0-9]+(?:(?:\s*,\s*|-)[0-9]+)*$
^^^^^^ ^^^^^^^^^^^^^^^
A B1 B2 C D
^^^^^^^^^
B
A - One or more digits
B1 - A comma with optional space characters on either side, *OR*
B2 - A dash (without whitespace on either side)
C - One or more digits
D - Optionally repeat B and C
注:\d
和[0-9]
是不同等学历;前者匹配all Unicode digits。我推测只有数字0
到9
是你感兴趣的。
- 1. jsp中的页面范围
- 2. 页面范围变量Dissapear
- 3. WordPress中的页面变量范围
- 4. 超出范围页面的请求
- 5. 另一个页面的范围值
- 6. ASP.NET中的页面范围变量
- 7. aspx页面中的变量范围
- 8. 什么是Asp.Net中的页面范围?
- 9. 打印算法的页面范围
- 10. 里面范围
- 11. AngularJS范围不适用于html页面
- 12. ASP.Net全局/页面范围变量
- 13. ASP.NET MVC主页面变量范围
- 14. 加载一个页面范围与kaminari
- 15. PHP页面空白 - 不理解范围
- 16. 显示页面范围在Barteksc PDFViewer
- 17. 在Consent页面上没有显示资源范围页面
- 18. 如何提取docx页面根据页面范围使用c#
- 19. PHP分页范围
- 20. zend分页页面范围vs每页项目数
- 21. 仅显示分页中特定范围的页面?
- 22. 当前页面上产品的分页计数范围
- 23. 哪里可以设置Magento中分页的页面范围?
- 24. 重叠的书页范围
- 25. 对于特定的日期范围的Facebook页面不喜欢的页面
- 26. 将请求范围的bean从一个页面传递到另一个页面
- 27. Django分页器页面范围不显示所有数字
- 28. 如何获得指定页面的范围从Java中的pdf?
- 29. 如何在Meteor的变量中做页面范围的模拟?
- 30. 从另一个页面的范围的值
这是一个'string'?如果是的话,你可以使用String.Split(',')'.. –
这个需求看起来不太清楚。你是否允许个别页面混合使用以逗号分隔的范围? –
忽略了它是JavaScript和问题是有关转义反斜杠,这是在谷歌出现了对我来说: http://stackoverflow.com/questions/4468336/javascript-regular-expression-page-range-validation – moritzpflaum