Java 如何在正则表达式中提供OR运算符?

Java 如何在正则表达式中提供OR运算符?,java,regex,Java,Regex,我想将我的字符串与一个或另一个序列相匹配,它必须至少与其中一个序列相匹配 对于和,我了解到可以通过以下方法完成: (?=one)(?=other) 有这样的东西给你吗 我正在使用Java、Matcher和Pattern类。一般来说,关于Regex,您肯定应该从这里开始进入Regex wonderland的旅程: 您当前需要的是|(管道字符) 要匹配字符串一个或其他,请使用: (one|other) 或者,如果您不想存储匹配项,只需 one|other 具体到Java 您必须以这种方式使用您

我想将我的字符串与一个或另一个序列相匹配,它必须至少与其中一个序列相匹配

对于
,我了解到可以通过以下方法完成:

(?=one)(?=other)
有这样的东西给你吗


我正在使用Java、Matcher和Pattern类。

一般来说,关于Regex,您肯定应该从这里开始进入Regex wonderland的旅程:

您当前需要的是
|
(管道字符)

要匹配字符串
一个
其他
,请使用:

(one|other)
或者,如果您不想存储匹配项,只需

one|other
具体到Java

您必须以这种方式使用您的模式:

//Pattern and Matcher
Pattern compiledPattern = Pattern.compile(myPatternString);
Matcher matcher = pattern.matcher(myStringToMatch);
boolean isNextMatch = matcher.find(); //find next match, it exists, 
if(isNextMatch) {
    String matchedString = myStrin.substring(matcher.start(),matcher.end());
}
请注意,关于我在这里展示的内容,还有更多的可能性

//String functions
boolean didItMatch = myString.matches(myPatternString); //same as Pattern.matches();
String allReplacedString = myString.replaceAll(myPatternString, replacement)
String firstReplacedString = myString.replaceFirst(myPatternString, replacement)
String[] splitParts = myString.split(myPatternString, howManyPartsAtMost);
另外,我强烈建议使用在线正则表达式检查器,比如or(这没有Java特定的检查器),它们会让您的生活更加轻松

or运算符拼写为
,例如
one | other


所有操作员都列在中。

您可以使用管道进行分离,因此:

Pattern.compile("regexp1|regexp2");

有关几个简单的示例,请参见。

使用
|
字符表示

Pattern pat = Pattern.compile("exp1|exp2");
Matcher mat = pat.matcher("Input_data");

答案已经给出,请使用管道“|”操作符。除此之外,在不必运行应用程序的情况下,在regexp测试仪中测试regexp可能很有用,例如:


查看这篇文章,你的两个链接都没有指向Java特定信息的链接。特别是refidle根本不提供Java信息