正则表达式验证自定义字母数字字符串

时间:2014-07-03 10:08:08

标签: regex

我需要一个Regex表达式来验证年数,天数或月数。

1d1 d1 day等来解析天数

或者 1-y1.5 year等解析年份。 要么 几个月2 m2 months等。

我不会像1年3个月一样成为不同单位的组合,所以不用担心。

到目前为止,我已经构建了正在解析几天的正则表达式。

\b([0-9]{1,4}[-.\s](d|day)?)\b

问题是它还匹配了555.98.等数字值。

缺少什么&应该是吗?

1 个答案:

答案 0 :(得分:2)

尝试:

\b\d{1,4}(?:\.\d)?(?:-|\s*)(?:d|days?|m|months?|y|years?)\b

这允许在可选的小数点后正好1位数。如果你想允许更多,你可以在那里添加量词。

DEMO