[英]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.