Извините за запутанное название. Я пытаюсь выяснить простую проблему с Regex, но не могу понять, что такое решение.Регулярное выражение - сочетание «или» с «взглядом сзади»
У меня есть фрагмент HTML из более крупного документа HTML.
<td class="grade">100.0</td>
<td class="teacher">Mathias, Jordan</td>
Другое Regex отделяет два, давая им те-имена классов. Я использую положительный look-ahead
для проверки .
или ,
(период или запятая) и назначаю им класс класса или учителя (соответственно).
Проблема возникает позже, когда я хочу проверить, свободен ли код между этими тегами.
- т.е.:
<td class="grade"></td>
Я хотел бы использовать позитивный взгляд-позади, чтобы проверить, если класс либо класс или учитель (grade|teacher)
. Кроме того, я хотел бы проверить, что между ><
(соединением пустых тегов) нет ничего.
Так далеко, это то, что у меня есть: (?<=.*(teacher|grade)*.+>?)[^.](?=</td>)
Примечание: Это в Python
HTML-это ** не ** проблема с гвоздями, отложите этот повторитель-молоток. Возьмите вместо этого парсер HTML, например BeautifulSoup. –
Обязательно, HTML лучше разбирается с парсером html, а не с регулярным выражением – mgilson
Я использую Regex в сочетании с BeautifulSoup. Учитывая размер HTML и его сложность, BeautifulSoup бесполезен при рендеринге HTML, если Regex не изменяет класс, поэтому BeautifulSoup может разбираться и находить его. @MartijnPieters –