我正在尝试使用正则表达式来将以下类型的字符串解析为组。
<link rel="alternate" type="application/rss+xml" title="[!PageTitle!]" href="[!SiteRoot!]/feed.xml" />
我的正则表达式是:
\[\!(.+)\!\]
这个表达式的问题在于它似乎把它全部拉成了一组:
找到1个匹配项:
“[!PageTitle!]”href =“[!SiteRoot!]”有1组:
1. "PageTitle!]" href="[!SiteRoot"
我想不要让正则表达式继续......我错过了一个边界吗?理想情况下,我希望找到2组,
[!PageTitle!]
和
[!SiteRoot!]
答案 0 :(得分:1)
尝试:
\[\!(.+?)\!\]
+
量词是贪婪的,所以在行中尽可能匹配,捕获行中的第一个[后跟最后一个]。 +?
是非贪婪的等价物。
顺便说一下,我正在使用Rad Software Regular Expression Designer。我喜欢它。
答案 1 :(得分:0)
似乎这样可行:)
\[!(\w+)!\]