是否可以编写正则表达式来匹配以提取日志文件中的键值:值对具有空格的值?

时间:2016-04-14 07:14:38

标签: regex

日志看起来像这样:

key: value key: value

Values可以包含空格,但key不包含任何空格

country: United States state: Ohio

2 个答案:

答案 0 :(得分:1)

(\w+):\s*(.*?)(?=\s*\w+:|$)

这将允许键包含字母数字字符和下划线(a-z,0-9和_)

答案 1 :(得分:1)

已有答案,但您也可以使用splitregex

后面拆分字符串
(?=(?!^)\b\w+\b:)(?=(?:\b\w+\b:|$))

JS代码



var re = /(?=(?!^)\b\w+\b:)(?=(?:\b\w+\b:|$))/; 
var str = 'country: United States state: Ohio abcd: efgh';

document.write(str.split(re));




<强> Ideone Demo