![](/img/trans.png)
[英]Regex in javascript, trying to match but doesn't seem to work with $
[英]regex match doesn't seem to work javascript
我有一個regex.exec()函數,如下所示:
var chat = reader.result;
var regex = /(\d{1,2}[\/-]\d{1,2}[\/-]\d{2,4}) (\d\d:\d\d:\d\d): ([^:]+): (.*)/g;
var messages = [];
var match;
while( match = regex.exec(chat)) {
messages.push({
date: match[1],
time: match[2],
name: match[3],
message: match[4]
});
}
match [1]似乎適用於幾乎所有日期:dd / mm / yyyy到dd-mm-yy
但是,當輸入采用以下格式時:
22-2-2014 18:37:15: Andre: Moet nog 2,5 aflevering
它輸出一個空數組messages
我真的不知道這是哪里來的,但我相信它是regex match[1]
,因為當輸入為28/02/14 00:03:03: Tom: Je gaat nu de afweging maken
它返回一個對象數組就好了。
ps對那些感興趣的人來說,reader.result來自HTML5 filereader API。
編輯我已經用評論者發現的正則表達式中的錯誤更新了問題。 即使使用更新的正則表達式,輸入仍然會失敗
看起來您的正則表達式錯過了一位數月的異常。 嘗試這個:
/(\d{1,2}[\/-]\d{1,2}[\/-]\d{2,4}) (\d\d:\d\d:\d\d): ([^:]+): (.*)/g
編輯:還內置可選的單位數字天。
試試這個正則表達式( 請參閱演示鏈接 )
(\d\d[\/-]\d\d?[\/-]\d{2,4}) (\d\d:\d\d:\d\d): ([^:]+): (.*)
它同時匹配:
22-2-2014 18:37:15:安德烈(Andre):Moet nog 2,5 flevering
22-12-2014 18:37:15:安德烈(Andre):Moet nog 2,5 flevering
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.