У меня есть строка в c #, содержащая некоторые данные, которые мне нужно извлечь, основываясь на определенных условиях.
Строка содержит много тендеров в следующем виде:
<TENDER> some words, don't know how many, may contain numbers and things like slashes (/) or whatever <DESCRIPTION> some more words and possibly other things like numbers or whatever describing the tender here </DESCRIPTION> some more words and possibly numbers and weird things </TENDER>
Эта строка не содержит вложенных тегов <TENDER>
, она плоская. Теги <DESCRIPTION>
встречаются только один раз внутри тегов <TENDER>
.
Я использую: <TENDER>(.+?)</TENDER>
в качестве регулярного выражения для разделения тендеров, и это прекрасно работает. Если это неправильно или глупо, и вы знаете лучший способ написать это, пожалуйста, дайте мне знать, так как я обнаружил, что я отстой в регулярном выражении.
Моя проблема в том, что теперь мне нужно выбрать тендер только в том случае, если его описание содержит какое-либо слово в списке ключевых слов (скажем, сейчас я хочу выбрать тендер, только если он содержит либо «бетон», либо «кирпич» в описание).
До сих пор я придумал регулярное выражение, но я не знаю, что поместить в середину. Также у меня есть смутное подозрение, что это может вернуть мне некоторые ложные срабатывания.
<TENDER>(.+?)<DESCRIPTION>have no idea what to do here</DESCRIPTION>(.+?)</TENDER>
Если бы кто-нибудь из вас, гуру регулярных выражений, мог указать мне правильное направление, я был бы очень признателен.