我需要一个正则表达式,它匹配只有4(4)个连字符和13个数字(0-9)的行。订单未定义。 我有正则表达式:
^([0-9\u2013-]{17})$
但是,当我收到字符串时
----123456789---- or 1-2-3-4-5-6-7-8-9
匹配是真的,但对我来说一定是假的。
请您解释我需要使用的内容,以便匹配仅与123-345-565-45-67 or 123-1-34-5435-45- or ----1234567890123 etc?
答案 0 :(得分:4)
试试这个正则表达式:
^
<强> Click for Demo 强>
<强>解释强>
(?=(?:[^-]*-){4}[^-]*$)
- 断言行的开头-
- 确保字符串中只出现(?=(?:\D*\d){13}\D*$)
次出现的正面预测.*
- 确保字符串中出现13个数字的正面预测$
- 一旦满足以上2个前瞻,匹配除换行符之外的任何字符的0次出现\
- 断言行尾在JAVA中使用其他\
逃脱$('.container').on('submit', 'form', function(e) {
e.preventDefault();
console.log(e.target.pick0.value);
var input = e.target.pick0.cloneNode(true);
document.getElementsByClassName('container')[0].appendChild(input);
});