使用PRXCHANGE提取文本而不返回第一个字符

时间:2017-08-16 10:13:01

标签: regex text sas extract postal-code

我正在尝试使用PRXCHANGE从字符串中的任何位置提取可能的邮政编码。

PRXCHANGE ( "s/^.*([A-Z][A-Z]?[0-9][0-9A-Z]?\s?[0-9][A-Z][A-Z]).*$/$1/" , -1 , a.address )

正则表达式正确识别邮政编码,但替换总是删除邮政编码的第一个字母,使AZ12 3ZA成为Z12 3ZA。

我尝试尝试前两个值的几种变体,例如[A-Z] {1,2},但总是有同样的问题。

我在邮政编码正则表达式的开头和结尾添加了空格,如下所示;

PRXCHANGE ( "s/^.*( [A-Z][A-Z]?[0-9][0-9A-Z]?\s?[0-9][A-Z][A-Z] ).*$/$1/" , -1 , a.address )

这似乎可以解决问题并正确返回可能的邮政编码。我不明白为什么开放式支架后的空间有效。任何人都可以解释为什么第一个不起作用,但第二个不起作用?

由于

0 个答案:

没有答案