Регулярное выражение не соответствует - PullRequest
0 голосов
/ 01 мая 2010

У меня есть регулярное выражение в приложении с сенсорным экраном «какао» (с использованием 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">
     &nbsp;<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>

Но это не так ... Мне нужно значение параметра, возможно, существует более одного (в этом случае мне нужно, чтобы они оба были разделены ,.

Может ли кто-нибудь мне помочь?

С уважением, Dodo

1 Ответ

2 голосов
/ 01 мая 2010

Если вы оставите обязательный комментарий «OMGPARSINGHTMLWITHREGEX» кому-то еще, ваше регулярное выражение не будет работать, потому что вам нужно маскировать скобки здесь: onChange="doDisplayTimetable\(NavBar, topDir\);"

Тогда, если вам нужно получить более одной опции, я бы сделал это в два шага - сначала извлеките ваш блок <select>...</select>, затем напишите еще одно регулярное выражение, чтобы соответствовать всем <option>...</option> внутри него.

...