const regex = new RegExp('\\S+\\s+\\S+\\s+\\S+\\s+\\S+\\s+\\S+\\s+(?P<host>[\\w\\-\\.]*)(?::\\d+)?\\s+(?P<ip>\\S+)\\s+\\S+\\s+\\S+\\s+\\[(?P<date>.*?)\\s+(?P<timezone>.*?)\\]\\s+"\\S+\\s+(?P<path>.*?)\\s+\\S+"\\s+(?P<status>\\S+)\\s+(?P<length>\\S+)\\s+"(?P<referrer>.*?)"\\s+"(?P<user_agent>.*?)"\\s+(?P<generation_time_secs>[.\\d]+)', '')
const str = `Feb 6 09:33:42 ngx-01 acother: 115.231.222.14 - - [06/Feb/2016:09:33:42 +0100] "GET http://zc.qq.com/cgi-bin/common/attr?id=260714&r=0.6027916056127199 HTTP/1.1" 401 590 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; 360SE)" 0.001`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
if ((m = regex.exec(str)) !== null) {
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions