gpt4 book ai didi

regex - 如何使用正则表达式验证邮政编码?

转载 作者:行者123 更新时间:2023-12-04 20:21:28 25 4
gpt4 key购买 nike

如何使用正则表达式验证邮政编码?

它应该是以下模式:-

[A-z][0-9][A-Z] [0-9][A-Z][0-9]

例如。
B5D 2M4 
b5d 2m4

我正在使用 Oracle9i。

提前致谢,
舒博杰瓦尔·戈什

最佳答案

不幸的是,由于您使用的是非常旧版本的 Oracle,您不能使用像 REGEXP_LIKE 这样的标准正则表达式函数。 .如果您要升级到较新的 Oracle 版本,那将是您要走的路。

在旧版本的 Oracle 中,您必须使用 OWA_PATTERN 包裹。请注意,由于 OWA_PATTERN.MATCH函数返回 BOOLEAN ,您不能从 SQL 调用它,只能从 PL/SQL 调用它。当然,您可以创建自己的包装函数,该函数返回一个整数或字符串以指示邮政编码是否有效。

SQL> ed
Wrote file afiedt.buf

1 declare
2 function is_valid_zip( p_zip_code in varchar2 )
3 return boolean
4 is
5 begin
6 return owa_pattern.match( p_zip_code,
7 '[A-Z]{1}\d{1}[A-Z]{1}\d{1}[A-Z]{1}\d{1}',
8 'i' );
9 end is_valid_zip;
10 begin
11 if( is_valid_zip( 'A1B2C3' ) )
12 then
13 p.l( '1) Match' );
14 else
15 p.l( '1) No match' );
16 end if;
17 if( is_valid_zip( '12345' ) )
18 then
19 p.l( '2) Match' );
20 else
21 p.l( '2) No match' );
22 end if;
23* end;
SQL> /
1) Match
2) No match

PL/SQL procedure successfully completed.

关于regex - 如何使用正则表达式验证邮政编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com