Я использую JDE со встроенным REGEX, который явно не поддерживает ни положительный просмотр назад, ни (?<=text)
, ни (\Ktext)
. Я хочу игнорировать группу без совпадения или захвата, так как у меня нет возможности использовать групповой захват постфактум. Это действительно нужно делать на начальном уровне REGEX.
Пример: «Текстовый оператор каждый раз говорит одно и то же: 432» Я пытаюсь записать только число.
(?<=Text statement says the same thing every time:)(.*?([0-9]+).*?)
Регулярное выражение просто помещается в текстовый файл, который JDE выполняет для создания именованной сущности. Насколько мне известно, я могу помещать в этот текстовый документ только регулярные выражения, но не вызывать JS-функции.
Любой способ обхода регулярного выражения?
Если вы не можете использовать Text statement says the same thing every time:.*?([0-9]+)
, вы застряли. — person DataMiner_NLP schedule 16.05.2021
Рад, что мой ответ сработал для вас. Пожалуйста, также проголосуйте за мой ответ, если вы сочли его полезным. — person DataMiner_NLP schedule 17.05.2021
Совпадение, но исключение из результата выполняется с помощью просмотра назад или
\K
и с помощью групп захвата.Захватите нужную часть с помощью выражения и установите результат для группы 1.
Если это не поддерживается вашим инструментом, зарегистрируйте запрос на улучшение.
Если замена регулярного выражения разрешена, сопоставьте всю строку и запишите нужную часть, замените обратной ссылкой (
\1
или$1
), см. доказательство.