У меня проблемы с оператором Regex, который я хочу использовать в R для извлечения полных совпадений шаблона из фрейма данных.
У меня есть 11 шаблонов предложений, и я хочу иметь возможность выбрать только записи, соответствующие этим шаблонам, из моего фрейма данных в качестве полных совпадений с использованием одного регулярного выражения (я смог заставить это работать с несколькими регулярными выражениями, но это реально хлопот). Буду признателен за любую помощь в том, что я могу сделать, чтобы просто это.
Это мои предложения:
- Изменение заголовков с 0101 по 0106 из любой другой главы.
- Изменение в подзаголовках с 0712.20 по 0712.39 из любой другой главы.
- Изменение в заголовок 0903 из любой другой главы.
- Изменение подзаголовка 1806.20 с любого другого заголовка.
- Изменение в подзаголовок 1207.99 из любой другой главы.
- Изменение в заголовок 4302 из любого другого заголовка.
- Изменение подзаголовка 4105.10 с заголовка 4102 или любой другой главы.
- Изменение подзаголовка 4105.30 с заголовка 4102, подзаголовка 4105.10 или любой другой главы.
- Изменение подзаголовка 4106.21 с подзаголовка 4103.10 или любой другой главы.
- Изменение подзаголовка 4106.22 с подзаголовков 4103.10 или 4106.21 или любой другой главы.
- Изменение в позиции тарифа 7304.41.30 из подзаголовка 7304.49 или любое другое
другая глава.
Это Regex, который у меня есть сейчас, который выбирает полные совпадения и частичные совпадения (где я застрял) - так что я получаю записи, которые мне не нужны, из моего фрейма данных в дополнение к этим предложениям (я знаю это грязный, просто пример).
^A change to (?:headings|heading|subheadings|subheading|tariff item) (?:\d+\S\d+\S\d+|\d+\S\d+) (?:through \d+\S\d+ from any other chapter.|from any other chapter.|from any other heading.|)|from heading \d+\S\d+ or any other chapter.|from (?:heading|subheading|subheadings) \d+\S\d+|, subheading \d+\S\d+ or any other chapter| or any other chapter.| or \d+\S\d+
Это то, как далеко я могу получить Regex как полные совпадения по всем 11 предложениям. У меня проблема с продолжением группы очистки после этого:
^A change to (?:tariff item|headings|heading|subheading|subheadings) (?:\d+\S\d+|\d+\S\d+\S\d+|\d+\S\d+) (?:from|through)
![enter image description here](https://i.stack.imgur.com/lzMo8.jpg)