如何用Ruby正则表达式匹配多位数范围?
我正在尝试匹配格式为“0000”到“2459”的时间码。如何匹配特定范围内的数字,以便能够专门匹配0到24之间的所有数字以及0到59之间的所有数字,而不匹配任何较大或较小的数字 我知道如何匹配每个数字,但这并不能满足我的需要,例如如何用Ruby正则表达式匹配多位数范围?,ruby,regex,Ruby,Regex,我正在尝试匹配格式为“0000”到“2459”的时间码。如何匹配特定范围内的数字,以便能够专门匹配0到24之间的所有数字以及0到59之间的所有数字,而不匹配任何较大或较小的数字 我知道如何匹配每个数字,但这并不能满足我的需要,例如 /[0-2][0-4]/ 将捕获数字0-4、10-14和20-24,忽略介于两者之间的数字。因此,我想捕获多个数字的全包信息。以下内容可以实现这一目的: /(?:[01][0-9]|2[0-4])[0-5][0-9]/ 说明: ?:使括号不可捕捉 在括号中,我们
/[0-2][0-4]/
将捕获数字0-4、10-14和20-24,忽略介于两者之间的数字。因此,我想捕获多个数字的全包信息。以下内容可以实现这一目的:
/(?:[01][0-9]|2[0-4])[0-5][0-9]/
说明:
使括号不可捕捉?:
- 在括号中,我们只匹配00-19或20-24
- 在那之后我们以00比59进行比赛
- 当
代码模块10>59
时,塞巴斯蒂安的回答失败。
例如,它无法识别1080
使用
/(?:[01][0-9][0-9]| 2(?[0-3][0-9]| 4[0-5]))[0-9]/
,
以4位数字开头的
- 使用0或1,或
- 23岁,或
- 245