2
我有以下的輸入字符串:JavaScript的正則表達式 - 不能得到正確的模式
02:00:00_03:00:[email protected]
或本:
02:00:00_03:00:[email protected]
我想寫一個javascript正則表達式將匹配兩者。 「mtwrf」是可選的...它可能會或可能不會出現在輸入中。
我一直在使用這個網站來測試: http://www.regexpal.com/
這種模式:
(\d\d\:\d\d:\d\d\_){2}([mtwrfsn\_]*)([\w\d]+\@?[\w\d\.]+)
似乎使用輸入字符串按照regexpal.com網站的工作:
02:00:00_03:00:[email protected]
但是,當我將它插入我的代碼時...它不匹配/找到「02:00:00」。
這裏是我的javascript代碼:
var pattern = /(\d\d\:\d\d:\d\d\_){2}([mtwrfsn\_]*)([\w\d]+\@?[\w\d\.]+)/;
if (rules_array[i].length > 0) {
searchval = rules_array[i].match(pattern);
}
console.log(searchval);
和輸出我得到的是這樣的:
[ '02:00:00_03:00:[email protected]',
'03:00:00_',
'',
'[email protected]',
index: 0,
input: '02:00:00_03:00:[email protected]' ]
我想我應該會看到這樣的事情,而不是:
[ '02:00:00_03:00:[email protected]',
'02:00:00_',
'03:00:00_',
'[email protected]',
index: 0,
input: '02:00:00_03:00:[email protected]' ]
能你看到我的錯誤/問題在哪裏? 謝謝。
當使用重複捕獲組時,每次組匹配時,捕獲的該組內容將被替換。 –
我推薦[regexr.com](http://regexr.com/):'((\ d {2}:){2} \ d {2} _){2}。* @。*。com' –
@SebastianProske哦......那麼你的意思是我應該擺脫對我的模式中的「{2}」之類的引用? – Happydevdays