>我遇到了一个问题,我的字符串可能有 2 或 4 个匹配组
2 的文本如下所示
<FONT FACE="Arial,Helvetica" size=2>1260 CORONA POINTE STE 120<br/>CORONA, CA 92879<br/><br/></font></td></tr>
4个比赛组
<FONT FACE="Arial,Helvetica" size=2>4010 BARRANCA PKWY STE 120<br/>IRVINE, CA 92604<br/><A HREF = "pplinfo.asp?License_id=01241755">01241755</A> Oldhouse, Charles - Branch/Division Manager<br><br/><br/></font>
这是我用来匹配 4 的正则表达式
<FONT FACE="Arial,Helvetica" size=2>(.*?)<br/>(.*?)<br/>.*License_id=(d*).*</A>(.*?)<br>
有没有办法让这个表达式也匹配只有 2 的字符串?
这个问题
看起来很熟悉。
给你
<FONT[ ]FACE="Arial,Helvetica"[ ]size=2>(.*?)<br/>(.*?)<br/>(?:.*License_id=(d*)(?:.*</A>(.*?)<br>)?)?
https://regex101.com/r/O8Ctn2/1
格式 化
<FONT [ ] FACE="Arial,Helvetica" [ ] size=2>
( .*? ) # (1)
<br/>
( .*? ) # (2)
<br/>
(?:
.* License_id=
( d* ) # (3)
(?:
.* </A>
( .*? ) # (4)
<br>
)?
)?