[英]Regex: match any string between date and a colon
所以我有這個字符串[14:42:49] Any Nick Name: Message bla bla
,我唯一想要的就是Any Nick Name
。
我從來沒有真正擅長正則表達式,而且我不記得如何獲得結果的特定部分。 我到這為止了: /\\[([0-9]{2}(:|\\])){3} (.+):/g
導致[14:42:49] Any Nick Name:
。
很好,我可以用substr等刪除最后一部分和第一部分,但是沒有更簡單的方法嗎?
這是正則表達式
/\[[^\]]+\]\s([^\:]+)/g
// test with
"[14:42:49] Any Nick Name: Message bla bla".match(/\[[^\]]+\]\s([^\:]+)/g);
// "Any Nick Name"
console.log(RegExp.$1)
您的正則表達式幾乎是正確的。
var regexp = /^\[\d{2}:\d{2}:\d{2}\] (.+):/;
這與[xx:xx:xx] something:
匹配[xx:xx:xx] something:
x
是數字。 ^
表示字符串應從此處開始, \\d
表示數字。 g
標志在這里不添加任何內容。
使用.exec
,並使用[1]
獲取第一組(在括號內匹配的字符):
regexp.exec("[14:42:49] Any Nick Name: Message bla bla")[1];
// "Any Nick Name"
您可以對[ ]
(包括空格)使用正向后視,如下所示:
(?<=]\s)[\w\s]+
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.