1

我有以下html字符串: <a href="http://www.nndc.bnl.gov/nsr/fastsrch_act2.jsp?aname=F.V.Adamian">F.V.Adamian</a>, <ahref="http://www.nndc.bnl.gov/nsr/fastsrch_act2.jsp?aname=G.G.Akopian">G.G.Akopian</a>

我想用作者姓名形成一个纯文本字符串,使其看起来像(我可以稍后微调标点符号):

FVAdamian,GGAkopian。

我正在尝试在 Matlab 中使用“正则表达式”。当我执行以下操作时: regexpi(htmlstring,'">.*</a>','match')

我得到:

">F.V.Adamian</a>, <a href="http://www.nndc.bnl.gov/nsr/fastsrch_act2.jsp?aname=G.G.Akopian">G.G.Akopian</a>,

为什么?我试图让它连续输出(因此我没有使用'once'运算符)>和之间的所有字符,这是作者的名字。它适用于第一个但不适用于第二个。我是很高兴稍后截断 "> 并使用 regexprep(regexpstring,'','') 。

我看到它regexprep(htmlstr, '<.*?>','')有效并且做我想做的事。但我不明白...

4

1 回答 1

2

.*?里面?告诉.*我们要懒惰而不是贪婪。默认情况下,.*会尽量匹配最大的东西。当您添加?它时,它会改为它可以做的最小的事情

资源

于 2013-07-09T19:53:29.500 回答