繁体   English   中英

正则表达式匹配数字+字符串

[英]regular expression to match Number + string

我试图在 Javascript 中匹配这些用例:
a) 8 Months
b) 18 Years

数字范围可以从 1 到 20,字符串只能是“月”或“年”

我正在尝试这个

[0-9]\s(Years|Months)

但它不起作用。

你可以使用这个:

([1-9]|1[0-9]|20)\s(Years|Months)

在哪里:

  • [1-9]匹配从 1 到 9 的数字
  • 1[0-9]匹配从 10 到 19 的数字
  • 20场比赛只有20场

编辑:如评论中所述,您应该使用

^([1-9]|1[0-9]|20)\s(Years|Months)$

如果整个字符串必须与此文本完全匹配。

另一种选择是在正则表达式前面加上单词边界( \b ),以防止匹配“42 年”之类的情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM