正则表达式匹配未选中和选中的 HTML 选项标签

vau*_*han 3 regex

有人可以推荐一个正则表达式来在选择和取消选择项目时返回值,如下所示。

<option value="32_1002_ACCT1001" selected="selected">ACCT1001 -- Accounting 1a</option>
<option value="32_1002_ACCT1002">ACCT1002 -- Accounting 1b</option>
Run Code Online (Sandbox Code Playgroud)

我的正则表达式目前仅适用于下面看到的未选中的选项。

(<option value="([^"]+)">([^<]+)<\/option>)
Run Code Online (Sandbox Code Playgroud)

编辑:

感谢你们的伟大回应,但是我应该更详细和具体一点。

我在屏幕刮板提取器模式中使用它,如下所示:

<option value="~@COURSE_ID@~">~@COURSE_CODE@~ -- ~@COURSE_NAME@~</option>
Run Code Online (Sandbox Code Playgroud)

其中 ~@COURSE_ID@~ 指定以下正则表达式查询:

([^"]+)
Run Code Online (Sandbox Code Playgroud)

适用于所有选项标签,除了已经选择的第一个标签。

我目前正在测试您的建议,但如果有人想加入一个非常好的解决方案,那就太好了。

我真的很纠结这个,似乎没有任何效果!

Gop*_*opi 5

首先,使用正则表达式来解析 HTML 是个坏主意。使用一些 html 解析器。(我厌倦了写这个,但我只是把它作为第一句话,因为人们往往会在没有这个声明的情况下立即投反对票:))

无论如何,只需修改您的正则表达式以考虑这样的所有属性

(<option[^>]*?>([^<]+)<\/option>)
Run Code Online (Sandbox Code Playgroud)

好吧,我不是说它是最佳的,只是对你的修改最少