2016-04-04 18 views
-1

文字列が "abc"、 "adc"または "ac"のいずれかになると予想しました。それを正規表現で表現する方法は?正規表現:いくつかの文字と一致するか、または一致しない文字と一致します

abc|adc|ac 

以上の '高度な' 方法:両方が機能しなければならない

a[bd]?c 

+0

問題のようですか? –

+0

'|'演算子を使用して選択肢を指定してください:http://www.regular-expressions.info/alternation.html – Barmar

+0

あなたが試したことを私たちに示す、いくつかのコードを追加する必要があります。 – Greg

答えて

1

あなたはとても似|(OR)演算子を使用することができます。

abc|adc|ac 

それは同等です選択ABCまたはADCや交流を言うに

あなたがテストするために RegExrまたは Regex101のようなツールを使用することができます

あなたのRegEx

Live Demo on Regex101


また、これを行うには賢いですが、それは短いです。 3つの文字列はいずれもaで始まるため、RegExの最初の部分はaになります。それらはすべてcで終わり、最後の部分はcになります。

ここで、中間の文字はbまたはdです。 (b|d)を使用するか、または[bd](同じことを意味します)を使用することができます。 ?を使用して、中間の文字は省略可能であると述べることができます。

だからあなたの完全な正規表現は次のようになります。

a[bd]?c 

Live Demo on Regex101

+0

[bd]?cは役に立つ答えです。私は実際に "a"と "c"が何になるのかは分かりませんが、何が分かれるのか分かります。ライブデモもまたボーナスポイントです。ありがとう。 – mattsun

1

あなたが簡単な方法を行うことができます。

関連する問題