防止正则表达式过早捕获

时间:2014-04-01 15:22:22

标签: java regex

我有以下文本,我将运行正则表达式。我想匹配“选定”选项并获得其值。在这个例子中,海地是选定的选择。

<option value="502">Guatemala (+502)</option><option value="224">Guinea (+224)</option><option value="245">Guinea-Bissau (+245)</option><option value="592">Guyana (+592)</option><option value="509" selected >Haiti (+509)</option><option value="504">Honduras (+504)</option><option value="852">Hong Kong (+852)</option>

我试过这个正则表达式

<option value="(.*?)" selected >

匹配

224">Guinea (+224)</option><option value="245">Guinea-Bissau (+245)</option><option value="592">Guyana (+592)</option><option value="509

我想只匹配“509”。对此有何解决方案?

1 个答案:

答案 0 :(得分:2)

您匹配第一个<option value="的所有内容,请尝试不匹配引号,即<option value="([^"]*)" selected >(意味着双引号之间只允许使用双引号:))。< / p>