JS RegEx仅匹配某些模式

时间:2016-09-04 14:56:19

标签: javascript html regex

我需要调整我的Javascript RegEx才能匹配某些模式。 RegEx在html5 pattern属性中用于验证输入字段。

我只想接受以下类型的字母数字模式:

A-AAAA或BB-BBB(预期模式为:“ - ”前1位,“ - ”后4位,“ - ”前2位,“ - ”后3位数)。

我目前的RegEx是:

/([\w]{1,2})(-([\w]{3,4}))/g

这个有效,但也接受CC-CCCC,这显然是一个有效的输入模式,但不是预期的模式。它也接受DDD-DDDD;再次有效,但无意。

你能协助调整模式吗?

3 个答案:

答案 0 :(得分:2)

您可以在find '/home/pi/Downloads/complete/' -type f -name "*.tgz"| while read i ; do tar --list -f "$i" | grep '\.\(pdf\|mobi\|epub\)$' | while read -r line ; do tar -kxvzf "$i" -C "/home/pi/Downloads/complete/ebook/" "$line" --strip=1;done; done; 属性中使用基于交替的正则表达式(因为它具有隐式锚点):

HTML5 pattern

RegEx Demo

答案 1 :(得分:0)

另一个简单的替代例子:

/^\w-\w{4}$|^\w{2}-\w{3}$/

答案 2 :(得分:0)

可能会略短
/\w(-\w|\w-)\w{3}/