gpt4 book ai didi

java - 用于检查字符串是否具有一定位数的正则表达式

转载 作者:行者123 更新时间:2023-11-29 10:06:19 25 4
gpt4 key购买 nike

我的数据库中有地址信息和一些垃圾信息,我必须检查该字符串是否包含我需要处理的邮政编码。你能解释一下如何检查一个字符串是否有 5 位数字吗?例如,

String addr = 10100 Trinity Parkway, 5th Floor Stockton, CA 95219; 

所以它必须匹配这个字符串,因为它有 5 位邮政编码。有什么方法可以使用 Java 正则表达式进行检查?

更新:

String addr = "10100 Trinity Parkway, 5th Floor Stockton, CA 95219"; 
String addressMatcher = "\\d{5}";
if(addr.matches(addressMatcher)){
System.out.println(addr);
}

上面是我在得到答案后使用的代码,但没有任何正则表达式匹配并打印地址。我做错了什么吗?问候,卡尔提克

最佳答案

简单的表达式是".*\\d{5}$",它表示你想要任何字符0次或更多次,然后是任何数字5次,然后是结束字符串。请注意,这说明需要转义 Java 字符串中的斜杠。

如果字符串末尾可能有更多字符,则可以将 .* 附加到表达式以匹配这些字符。但是,这也可能最终匹配地址中的数字,因此请确保您的数据采用一致的预期格式。

在这种情况下,正则表达式可能不够用,因为并非所有 5 位数字实际上都是邮政编码。同样,某些邮政编码可能包含其他数字(通常在前五位数字后跟-。)

关于java - 用于检查字符串是否具有一定位数的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7144312/

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