Как сделать двоеточие необязательным в регулярном поиске числа - PullRequest
1 голос
/ 11 апреля 2019

Я пытаюсь извлечь конкретное число из текстовой строки, используя регулярное выражение в UIPATH. Регулярное выражение работает в каждом случае, когда в тексте нет двоеточия.

Я ищу слово EWO (с или без :). то есть EWO или EWO: Затем мне нужно 6 цифр, которые идут после этого слова.

Я использовал следующее, пока не обнаружил, что может быть двоеточие: Текст для поиска

TEST0203033 EWO 125399 WWT US QUOTE# 1235338.1

или

TEST0203033 EWO: 125399 WWT US QUOTE# 1235338.1

Я попытался добавить :?, чтобы сделать двоеточие в поиске необязательным, но получить странные ответы обратно.

В струне TEST0203033 EWO: 125399 WWT US QUOTE# 1235338.1

с использованием

(?<=EWO:?\s*)([0-9]+)

результаты : 12

Где я ожидал результата 125399

Оригинал, не работает с двоеточием

(?<=EWO\s*)([0-9]+)

Дает какие-то странные результаты

(?<=EWO:?\s*)([0-9]+)

1 Ответ

0 голосов
/ 20 апреля 2019

Этот RegEx может помочь разделить ваши целевые входные данные на две отдельные группы, где вы можете просто позвонить по нужному номеру с помощью $2:

([EWO\:]+)\s([0-9]+)

enter image description here

Вы также можете еще больше упростить ее, удалив группу $1 или создать точное совпадение, подобное this :

(TEST[0-9]+\s)[EWO\:\s]+([0-9]+)\sWWT\sUS\sQUOTE#\s([0-9\.]+)

enter image description here

...