如何使用正则表达式获取所选选项Text?

时间:2013-12-27 17:06:40

标签: html regex

我需要以下html代码中选定的<option></option>代码之间的文字:

<select>

<option value="me=A29S2L940CQWBD" selected="selected">First</option>
<option value="search-alias=aps">Second</option>

</select>

我尝试了/"selected">[a-zA-Z0-9 ]*/但是我正在'“选中”&gt;首先'这是好的,但我想尝试“First”。 请纠正我的正则表达并帮助我。

3 个答案:

答案 0 :(得分:2)

在JavaScript中:

var str = '<select><option value="me=A29S2L940CQWBD" selected="selected">First</option><option value="search-alias=aps">Second</option></select>';
console.log(str.match(/"selected">([a-zA-Z0-9]+)/)[1]);

答案 1 :(得分:0)

嗯,我得到了这个东西:

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

无法摆脱最后的'&lt;'标志(正则表达式应该是(?<="selected">).*(?=<),但由于某种原因,它不能用于记事本++),但你可以从那里抓取第一个匹配的组

答案 2 :(得分:0)

我需要选定的<option></option> 之间的文字

如果您只需要FirstSecond作为输出,则可以在没有正则表达式的情况下执行此操作:

http://jsfiddle.net/TVnT6/

完整代码:

<script> 
    function getOp(a)
    {
    alert(a);
    }
</script>
<select>

<option class="sel" value="me=A29S2L940CQWBD" selected="selected" onclick="getOp(this.innerHTML)">First</option>
<option class="sel" value="search-alias=aps" onclick="getOp(this.innerHTML)">Second</option>

</select>