2

我仍在尝试学习如何格式化我自己的表达式......所以我在试图弄清楚这个时遇到了问题。谁能帮我找到这个油重格式的正则表达式:10W-30 或 0W-30。

基本上,第一个数字可以是两位数或一位,后跟字母 W 和一个破折号……最后两个字符必须是两位数。

因此,如果 x 是数字:xW-xx 或 xxW-xx。

我自己还在研究它......但任何人都可以帮助我真的很感激。谢谢。

这是我到目前为止所拥有的:

/^([0-9]){1,2}[W]-{2,2}$/

我错过了什么吗?

4

2 回答 2

0

\d将匹配数字,所以你只想做这样的事情:

('10W-30').match(/^(\d{1,2})W-(\d{2})$/) // => ["10W-30", "10", "30"]

于 2012-08-11T18:56:15.890 回答
0

这是一个非常简单的正则表达式,请查看W3 文档以了解如何实现它。

[0-9]{1,2}W-[0-9][0-9]

快速解释这里发生的事情:

  1. 第一个 [0-9] 指定匹配器正在寻找数字 0-9。
  2. 花括号指定前一个匹配可以是一个或两个字符长。
  3. 现在这W不是一个正则表达式字符命令,所以你可以像白天一样把它放在里面。

现在快速回顾一下,正则表达式匹配任何两位数字,后跟一个大写字母W

现在正则表达式的其余部分很容易弄清楚,因为连字符又不是特殊字符,而且您已经知道方括号在做什么。

于 2012-08-11T19:04:16.773 回答