Регулярное выражение для получения текста перед отправкой в Германию|fbf4cf3c-ebfe-43c8-aaf9-6811bd3488b0

#regex #nintex-workflow

Вопрос:

У меня есть текст, приведенный в этом формате

 Germany|fbf4cf3c-ebfe-43c8-aaf9-6811bd3488b0
 

Как должно выглядеть регулярное выражение, чтобы получить Germany , и как должно выглядеть регулярное выражение, чтобы получить fbf4cf3c-ebfe-43c8-aaf9-6811bd3488b0 ?

Я использую рабочий процесс Nintex и пытался . ?(?=|) , но он работает неправильно.

Комментарии:

1.Вы можете использовать 2 группы захвата b(w )|([a-f0-9] (?:-[a-f0-9] ) )b regex101.com/r/QM7yeE/1

2. @Thefourthbird Как я могу захватить первую группу «Германия» с помощью регулярного выражения?

3. если у вас есть совпадение, возможно, вы можете использовать группу 1 в замене с помощью $1 или 1

4. Отдельные совпадения, которые вы могли бы использовать w (?=|[a-f0-9] (?:-[a-f0-9] ) b) для Германии и (?<=w|)[a-f0-9] (?:-[a-f0-9] ) b для guid

5. Регулярные выражения хороши, но они не дают самого четкого кода. Возможно, простое разделение по символу | сделает код более легко читаемым. Я не знаю, существует ли он в Nintext, хотя

Ответ №1:

Вы могли бы использовать 2 группы захвата, и вы могли бы получить совпадения, используя $1 и $2 :

 (w )|([a-f0-9] (?:-[a-f0-9] ) )b
 
  • (w ) Захватите группу 1, сопоставьте 1 словесные символы
  • | Матч |
  • ( Группа захвата 2
    • [a-f0-9] Матч 1 символы a-f 0-9
    • (?:-[a-f0-9] ) Повторите 1 раз совпадение - и 1 символов a-f o-9
  • )b Закройте группу 2, за которой следует граница слова, чтобы предотвратить частичное совпадение

Смотрите демонстрацию регулярных выражений

Чтобы получить отдельные совпадения, вы также можете использовать поисковые системы.

Сопоставьте 1 или более словесных символов, утверждающих формат a | и гильдии, справа, используя положительный внешний вид:

 w (?=|[a-f0-9] (?:-[a-f0-9] ) b)
 

Или сопоставьте шаблон, подобный гильдии, утверждающий символ слова, за которым следует символ | слева, используя положительный взгляд сзади:

 (?<=w|)[a-f0-9] (?:-[a-f0-9] ) b