Есть ли там lib, который может взять текст (например, html-документ) и список строк (например, имя некоторых продуктов), а затем найти шаблон в списке строк и сгенерировать регулярное выражение, которое будет извлекать все строки в тексте (html document), которые соответствуют найденному шаблону?Библиотека Python для генерации регулярных выражений
К примеру, учитывая следующие HTML:
<table>
<tr>
<td>Product 1</td>
<td>Product 2</td>
<td>Product 3</td>
<td>Product 4</td>
<td>Product 5</td>
<td>Product 6</td>
<td>Product 7</td>
<td>Product 8</td>
</tr>
</table>
и следующий список строк:
['Product 1', 'Product 2', 'Product 3']
Я хотел бы функцию, которая будет строить регулярное выражение вроде следующего:
'<td>(.*?)</td>'
а затем извлечь всю информацию из html, которые соответствуют регулярному выражению. В этом случае результат будет:
['Product 1', 'Product 2', 'Product 3', 'Product 4', 'Product 5', 'Product 6', 'Product 7', 'Product 8']
ПОЯСНЕНИЯ:
Я хотел бы функцию, чтобы смотреть на окружающих образцов, а не на самих образцов. Так, например, если HTML был:
<tr>
<td>Word</td>
<td>More words</td>
<td>101</td>
<td>-1-0-1-</td>
</tr>
и образцы ['Word', 'More words']
Я хотел бы, чтобы извлечь:
['Word', 'More words', '101', '-1-0-1-']
Почему не так строить регулярное выражение ''Product [1-3]''? – mgilson
Связанный: http://stackoverflow.com/questions/616292/is-it-possible-for-a-computer-to-learn-a-regular-expression-by-user-provided-e –
@mgilson Он должен попробовать чтобы обобщать как можно больше, не сравнивая больше, чем примеры (список строк) ... –