Регулярное выражение не соответствует
У меня есть регулярное выражение в моем приложении Cocoa-Touch (с использованием RegexKitLite).
NSString *week = [[NSString alloc] initWithFormat:@"%@", [pageContent stringByReplacingOccurrencesOfRegex:@"<select name=\"week\" class=\"selectbox\" style='width:134' onChange=\"doDisplayTimetable(NavBar, topDir);\">(.+?)<option value=\"(.+?)\">(.+?)</option>"
withString:@"$2"]];
Я ожидаю, что это будет соответствовать разделу этого (что находится в NSString pageContent):
<span class="selection">
<nobr>
Periode<br>
<span class="absatz">
<br>
</span>
<select name="week" class="selectbox" style='width:134' onChange="doDisplayTimetable(NavBar, topDir);">
<option value="14">17-5 - 16-7</option>
</select>
</nobr>
</span>
Но это не так... Мне нужно значение параметра, возможно, существует более одного (в этом случае мне нужно, чтобы они оба были разделены ,
,
Кто-нибудь может мне помочь?
С уважением, Додо
1 ответ
Если вы оставите обязательный комментарий "OMGPARSINGHTMLWITHREGEX" кому-то другому, ваше регулярное выражение не будет работать, потому что вам нужно маскировать скобки здесь:onChange="doDisplayTimetable\(NavBar, topDir\);"
Затем, если вам нужно получить более одного варианта, я бы сделал это в два этапа - сначала распакуйте ваш <select>...</select>
блок, а затем написать другое регулярное выражение, чтобы соответствовать всем <option>...</option>
внутри него.