gpt4 book ai didi

java - 使用 Java 和正则表达式,如何捕获不确定(?)组?

转载 作者:行者123 更新时间:2023-11-29 03:01:23 25 4
gpt4 key购买 nike

假设我有这个正则表达式:

Hello\smy\sname\sis((PETER)|(HARRY)|(EMMA))(and\smy\sage\sis(\d+))?

捕获名称非常简单,我会这样写:

if(matcher.group(1).equals(matcher.group(2)) {
String str = matcher.group(2);
}

...

但是对于年龄来说:

if(!matcher.group(5).isEmpty()) {
int age = matcher.group(6);
}

这仅在模式正在处理的文本实际具有年龄部分时有效,如果没有,则会弹出错误。那么如何捕捉不确定的群体呢?

最佳答案

如果您的输入字符串中不存在可选组,则group 方法返回null。因此,NullPointerException 可能会在您的 if 语句中抛出。而是检查 matcher.group(5) 是否为 null

关于java - 使用 Java 和正则表达式,如何捕获不确定(?)组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34639504/

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