gpt4 book ai didi

java - 如何使用 Java 中的正则表达式对相似词进行字符串比较?

转载 作者:行者123 更新时间:2023-11-30 08:32:58 32 4
gpt4 key购买 nike

我有两个字符串

String x = "DMXX"; //or DMYY or DMZZ

我想检查是否相等。

之前我是这样做的

if(x.equals("DMXX") || x.equals("DMYY") || x.equals("DMZZ")){
//Do this and that
}

代替三个不同的语句;我想一次完成。

在上面的字符串中,'DM' 对所有人都是通用的;唯一的变化是 XX/YY/ZZ。

要使正则表达式成为一条语句而不是两条语句的语法是什么?

此外,附加查询:Guava 或 Apache Commons 是否具有实现相同功能的某些功能?

最佳答案

if (x.matches("DM(?:XX|YY|ZZ)") {
// Do whatever
}

编辑 1:您当然可以将字符 DMXXYYZZ 更改为任何字符您需要并注意 XX 和 friends 的长度不必相同。例如对于 DM1234DM2,正则表达式 "DM(?:1234|2|ZZ)" 将正常工作。

编辑 2-3:正如 Sebastian Proske 和 Boris the Spider 评论的那样,与教程让我相信的不同,String.matches 确实匹配正则表达式,就好像它有 anchor 一样(好像它已经以 ^ 开始并以 $) 结束,因此不需要这些。那会教我阅读教程而不是仔细检查。 ^^

关于java - 如何使用 Java 中的正则表达式对相似词进行字符串比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39717108/

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