suryanaga
suryanaga

Reputation: 4022

Regex - Capturing items from a list in HTML

So I'm trying to get all of the possible options from this list with Regex:

<select id="color" name="colorId" class="btn secondary">
<option value="33941">Baltic</option>
<option value="3">Black</option>
<option value="398695">Bright Cherry Red</option>
<option value="172615">Captain Blue</option>
<option value="254777">Chlorophyll Green</option>
<option value="162672">Cosmic</option>
<option value="34237" selected="selected">Guava</option>
<option value="36993">Hawaiian Blue</option>
<option value="172715">Malachite</option>
<option value="9">Navy</option>
<option value="398694">Obscure Blue</option>
<option value="405740">Quartz Purple</option>
<option value="254790">Silver Grey Chine</option>
<option value="231423">Starfruit Yellow</option>
<option value="405844">Tortuga Green</option>
<option value="14">White</option>
</select>

So far I have <select id="color" [^>;]+>\s?<option value="\d+?">(\w+|\W+[^</option>\s?<option value="\d+?">;])</option></select> which of course matches the first option, but I don't know how to get all of them.

Upvotes: 0

Views: 85

Answers (1)

Bill Criswell
Bill Criswell

Reputation: 32921

There's no reason to use a regular expression for this. You can do:

var lis = document.getElementById('color').getElementsByTagName('li');

and then you'll have a nice list of elements to work with.

Upvotes: 1

Related Questions