RegEx для сопоставления юникодов в Informatica - PullRequest
1 голос
/ 03 мая 2019

Требование: мне нужно идентифицировать неверные данные в поле адреса. Для этого поля допустимые данные представляют собой комбинацию чисел, алфавитов, некоторых специальных символов (# & - '`./\s), пробела между двумя словами (слово может быть алфавитом, числом или одним из разрешенных специальных символов). Я пытаюсь использовать ниже выражение соответствия reg:

'^[a-zA-Z0-9#&\-`./\s]*$'

Проблема:

  1. Я не могу поместить '(символ кавычки) в этот список.
  2. это также позволяет пространство в конце данных, что не должно.

Как мне решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 04 мая 2019

Я не знаком с Informatica, однако вы можете заменить 'на \x27,' на \ x22, 'на \ x {2018} и' на \ x {2019}, и это может сработать.


Это выражение показывает, как это будет работать:

^([a-zA-Z0-9#&\-`\.\/\s\x22\x27\x{2019}\x{2018}]+)$

enter image description here

Этот график показывает, какфункции выражения:

enter image description here

Описание

Правильное использование \ x2019 и \ x2018 будет \ x {2018} и \x {2019}. Очевидно, без этого двигатель будет считать, что \ x20 и 18 или \ x20 и 19 , что Я не знал, что .

enter image description here

0 голосов
/ 06 мая 2019

Если ваша цель - подтвердить адрес, то informatica предлагает услугу проверки адреса, и она работает довольно хорошо для большинства стран. Если вы действительно хотите проверить адрес только с помощью регулярных выражений, то то, что дала Эмма, должно быть достаточно, а затем удалить пробелы в конце с помощью комманды ltrim-rtrim, как показано ниже,

ltrim(rtim(re_ex_result_here))

Это поможет вам устранить пробелы в конце.

Подробнее об Informatica Address validator здесь

...