我需要调整我的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;再次有效,但无意。
你能协助调整模式吗?
答案 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
答案 1 :(得分:0)
另一个简单的替代例子:
/^\w-\w{4}$|^\w{2}-\w{3}$/
答案 2 :(得分:0)
写
可能会略短/\w(-\w|\w-)\w{3}/