gpt4 book ai didi

java - 我可以定义自定义字符类简写吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:24:24 25 4
gpt4 key购买 nike

Java 提供了一些有用的字符类,如\d\w。我可以定义自己的角色类别吗?例如,能够为 [A-Za-z_] 等字符类定义简写会很有用。

最佳答案

Can I define my own character classes?

不,你不能。

就个人而言,当我有一个(稍微)复杂的正则表达式时,我将正则表达式分解为更小的子正则表达式,然后使用 String.format(...) 将它们“粘合”在一起,例如这个:

public static boolean isValidIP4(String address) {
String block_0_255 = "(0|[1-9]\\d|2[0-4]\\d|25[0-5])";
String regex = String.format(
"%s(\\.%s){3}",
block_0_255, block_0_255
);
return address.matches(regex);
}

这比单一模式更具可读性:

"(0|[1-9]\\d|2[0-4]\\d|25[0-5])(\\.(0|[1-9]\\d|2[0-4]\\d|25[0-5])){3}"

请注意,这只是一个简单的示例:验证 IP 地址可能最好由 java.net 包中的一个类来完成,如果您这样做,模式应该放在方法之外并进行预编译。

小心模式中的 % 符号!

关于java - 我可以定义自定义字符类简写吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6775383/

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