使用正则表达式我如何多次匹配XML标记?

Osc*_*son 2 javascript regex xml rss parsing

首先,在你说什么之前,我必须这样做,因为RSS格式不正确,但我不能纠正它.因此,当我尝试使用RSS和XML解析器时,它们会失败并且我只有前端访问权限.但是,我非常接近,但我无法弄清楚为什么这不匹配.

Feed(这是一个很长的 1行字符串):http: //pastebin.com/5dJhXCvf

第一个例子:

<title>(.+)</title>
Run Code Online (Sandbox Code Playgroud)

我认为这对我的测试非常有用:

<title>&quot;cterrorism task force&quot; location:oregon - Google News</title>
Run Code Online (Sandbox Code Playgroud)

但问题是它匹配所有内容然后作为一个匹配例如:

<title>&quot;cterrorism task force&quot; location:oregon - Google News</title><title>&quot;cterrorism task force&quot; location:oregon - Google News</title>
Run Code Online (Sandbox Code Playgroud)

从我的数组等于1个结果项exec()match()

所以我试过:

<title>([\w\d\s\=\%\_\`\~\+\!\@\#\$\%\^\&\*\(\)\:\'\"\[\]\{\}\|\,\.\/]+)</title>
Run Code Online (Sandbox Code Playgroud)

但这没有任何回报......任何想法?

det*_*zed 7

尝试非贪婪的版本<title>(.+?)<\/title>. 在这里你可以在线测试这些东西.

  • @Oscar尝试`<title>([^ <] +?)</ title>` (2认同)