我有以下文本,我将在其上运行正则表达式。我想匹配“选定”选项并获取其值。在此示例中,选择了海地。
<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”。有什么解决办法吗?
最佳答案
您正在匹配第一个 <option value="
中的所有内容,尝试不匹配引号,即 <option value="([^"]*)" selected >
(这意味着双引号之间允许除双引号之外的任何内容:))。
关于java - 防止正则表达式过早捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22790139/