目的是创建一个正则表达式来解析给定字符串中的inclusive(..
)和Exclusive(...
)范围。
我的主要情况如下:
initial
和final
值不能包含空格。..
)和(...
)范围。final
值.
开头不能包含点()。也就是说,具有无效范围表示的字符串将是:
"1 2..20"
,"1 2...20"
,"12..2 0"
"1....10"
或"
1.10`这是我到目前为止得到的正则表达式
/\A([^.\s]+)(\.{2,3})([^.][^\s]+)\z/
但是它失败了。似乎原因是[^.]
第三捕获组中的一部分。在没有的情况下[^.]
,它可以很好地工作,但不幸的是,它不能涵盖所有情况。
我正在使用Ruby 2.2.1。
尝试
/\A([^\s]*[^.])(\.{2,3})([^.][^\s]*)\z/
这*
代替+
,因此第三个捕获组只允许捕获一个字符(您以前的表达式要求它捕获至少两个字符)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句