2011-01-13 13 views
1

[abc]はそのセットのいずれかの文字と一致することがわかります。この場合、一致した値は 'b'になります。Noob正規表現の質問 - それは可能ですか?

比較的シンプルな正規表現を使用して、それらの文字のいずれかまたはすべてを任意の順序で一致させることは可能ですか?たとえば、「ab」、「cab」、「b」などのいずれかにマッチしますか?

私はObjective-Cで働いています。

+0

正規表現の質問をするとき、あなたはあなたがしているどのような言語を指定しなければなりません –

+0

言語を表す編集された質問。 – RyJ

答えて

7

[abc]は、a,bまたはcのいずれかの1文字に一致します。何をしたい
は、複数の文字にそのパターンを拡張することです:

[abc]*  -- match any number of a, b or c 
[abc]+  -- match one or more a, b or c 
[abc]{2,3} -- match two or three a, b or c 

http://www.regular-expressions.info/repeat.html

+0

a、b、またはcのいずれにも一致しない場合はどうすればいいですか?だから、それぞれのキャラクターは複製されるべきではありません。 'cab'、 'ba'、 'ac'ですが、 'aab'ではありませんか? – RyJ

+0

@RyJこれはもっと複雑です... – deceze

+0

@RyJ実際には、単純なパターンマッチングではなく計算が必要なので、正規表現では実際には不可能です。 – deceze

2

だから、例えば、試合のいずれかの 'AB'、 'タクシー'、 'B'、などのために?

[abc]+

:あなたは(あなたが与えた例につきなど)、B、Cの組み合わせの少なくとも1つのインスタンスを一致させるために、次の正規表現を使用することができます

の文字のいずれか、またはすべてを任意の順序で一致させることは可能ですか? は比較的簡単な正規表現ですか?

あなたがどれか、B、C、使用の組み合わせのいずれかのインスタンスと一致しないために必要がある場合:

[abc]*

+0

詳細な回答ありがとうございます。 – RyJ