我们可以在java中使用正则表达式检查多个模式吗?

我想用正则表达式检查2个模式。

我可以同时检查这两种模式(如if(condition1 | condition2)条件)。

任何想法?

您可以完全按照您的方式执行此操作,使用管道分隔两个+表达式

例如:常规表达式(abc)|(def)将匹配abc OR def

这实际上取决于 – 也就是说,你可以使用“或”修饰符设计你的正则表达式"(match this)|(or this)" 。 如果您使用精心设计的正则表达式,您只需要这样做:

 Pattern p1 = Pattern.compile(regex) Matcher m = p1.matcher(searchstring) 

一旦。 这可能是最有效的方法。 另一个选项是运行两个匹配器/模式对象,运行find操作直到find返回false而不是计算输出数。 如果他们都是0,你就是在做生意。 另一种选择是如果你只需要一个或多个匹配,那么:

 if ( matcher1.find() & matcher2.find() ) { ... }