[英]Javascript - Regular Expression with string template followed by 4 digits number?
再会。 我想检测<a>
标签中的 url 字符串
<a href="http://virtualweb.test/en/?post_type=tribe_events&p=3642">Link</a>
是否匹配模式: ?post_type=tribe_events&p=####
(#### = 4 位数字)
我正在编写一些 Jquery 代码来检测表达式,但控制台抛出错误:
无效正则表达式:/^(?)post_type=tribe_events&p=^(d{4})/:无效组
var str = $(a).attr("href");
var regexEx = /^(?)post_type=tribe_events&p=^(d{4})/;
var ok = regexEx.exec(str);
console.log(ok);
我不擅长正则表达式,所以如果有任何帮助,我会很感激。
您的正则表达式中有几个问题。
^
,它表示字符串的开头,在您的情况下,您的字符串实际上并不是从?
并且在字符串的中间。?
因为它在正则表达式中具有特殊含义,即字符出现零次或一次。p=
之后删除第二个^
\\d
而不仅仅是d
来表示一个数字。?
和\\d{4}
除非你真的需要它们。你更正了正则表达式,
\?post_type=tribe_events&p=\d{4}
如果测试真的是你想要的,我想正确的语法是:
/^\?post_type=tribe_events&p=\d{4}/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.