正则表达式匹配单词逗号分隔,多行和两个字符串之间

时间:2017-03-16 14:38:35

标签: javascript jquery regex

我正在尝试使用JavaScript / jquery获取以下单词(粗体):

Blablablalblabla

  • Blablablalblabla:Blablablalblabla
  • 受影响: Windows Vista,Windows 7
  • hxxps:// Blablablalblabla

Blablablalblabla

  • 受影响: Windows Vista,Windows Server 2008,Windows 7,Windows Server 2008 R2,Windows 8.1,Windows Server 2012和Windows Server 2012 R2,Windows 10,Windows Server 2016
  • hxxps:// Blablablalblabla

它们以逗号分隔。它们出现在字符串'Affected:'之后,以字符串' - https'结尾。

到目前为止,我已尝试过多个正则表达式,例如: /受影响(。*?)\ n-https / g

也许我正专注于......任何想法?

1 个答案:

答案 0 :(得分:0)

我建议使用[^][\s\S]构造来匹配任何字符,并在模式中包含:和空格。



var rx = /Affected:\s*([^]*?)\n- https/g;
var str = "Blablablalblabla		\n\n- Blablablalblabla: Blablablalblabla\n- Affected: **Windows Vista, Windows 7** \n- https://Blablablalblabla\n\n\nBlablablalblabla";
var m, res=[];
while ((m = rx.exec(str)) !== null) {
  res.push(m[1].trim());
}
console.log(res)