-1
我有以下的正則表達式,我已經驗證:匹配的正則表達式零
"(http|ftp|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\[email protected]?^=%&/~+#-])?"
我有以下的Javascript代碼找到正則表達式:
var cTextVal = "This URL should match http://google.com";
var regEx = "(http|ftp|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\[email protected]?^=%&/~+#-])?"
var matches = cTextVal.match(regEx);
alert(matches); // This produces null
如何在JavaScript中找到與此正則表達式匹配的字符串?
更新基於評論:
這崩潰我的代碼:
var regEx = /(http|ftp|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\[email protected]?^=%&/~+#-])?/g
這會產生空:前第二捕獲組
var regEx = "/(http|ftp|https)://([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:/~+#-]*[\[email protected]?^=%&/~+#-])?/g"
您需要使用'/ yourRegex /','沒有 「yourRegex」',否則,你需要逃避反斜槓。 – Xufox
或新的RegExp ....但在那種情況下轉義\'s是一種痛苦 –
如果有一個匹配項,它會在'matches [0]'',而不是基於'null結果。 – PHPglue