文字列をあるシーケンスまたは別のシーケンスに一致させたいのですが、それらの少なくとも 1 つに一致する必要があります。
私が学んだのは、次のand
方法で実行できることです。
(?=one)(?=other)
ORでこういうのありますか?
Java、Matcher、および Pattern クラスを使用しています。
一般的に正規表現について言えば、ここから正規表現の不思議の国への旅を始める必要があります: 正規表現のチュートリアル
現在必要なのは|
(パイプ文字)
one
文字列ORを照合するにはother
、次を使用します。
(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());
}
Matcherに関しては、ここで表示したものよりもはるかに多くの可能性があることに注意してください...
//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);
また、 Regexplanet (Java)やrefiddle (これには Java 固有のチェッカーはありません)などのオンライン正規表現チェッカーを使用することを強くお勧めします。
「または」演算子のスペル|
は、たとえばone|other
です。
すべての演算子はドキュメントにリストされています。
OR|
の文字を使用する
Pattern pat = Pattern.compile("exp1|exp2");
Matcher mat = pat.matcher("Input_data");
答えは既に与えられています。パイプ「|」を使用してください オペレーター。それに加えて、アプリケーションを実行せずに正規表現テスターで正規表現をテストすると便利な場合があります。次に例を示します。