2011-07-26 9 views
0

私は正規表現でWinformsテキストボックスを検証したいと思います。Regexを探しています

例を刺す入力:

ZX1 OR N?V OR 2L? OR ?55(とORそれらの間の3つのシンボルの長さの文字列の任意のシーケンス)

あなたが助言する正規表現とは何ですか?

UPDATE: はそれがあることをこの1が、縫い目をしようが、正しい

string text = "ZX1 OR N?V OR 2L? OR ?55"; 
Regex r = new Regex("([0-9A-Z?]{3} OR)*[0-9A-Z?]{3}"); 
+2

明確にしてください。 'ZXC'も' NV'も 'BL'の後に任意の文字が続く文字と一致する正規表現を求めていますか? –

+0

任意の文字にすることができます – Joper

+0

"symbo"という用語を明確にすることはできますか?それは "非スペース文字"を意味しますか?または特定の文字のみですか? –

答えて

1
"^\\s*\\S{3}(?:\\s+OR\\s+\\S{3})*\\s*$" 

は、さまざまな言語で動作するはずです...してみてください。

\\S 

マッチ任意の非空白文字、および

\\s 

マッチ任意の空白文字なので、上記の正規表現は、空白文字に囲まれた文字列"OR"によって分離された非空白文字のトリプレットの任意の番号と一致。

^$は、文字列全体が一致するように機能するので、大きな文字列の中でこのパターンを検索する場合は、それらを取り出すことができます。

+0

これは非常に近いですが、ZX1またはN?V OR 2Lの場合はtrueを返します。 OR **?5 ** – Joper

+0

@Joper、fixed。私は '\\ S {3}'の代わりに '\\ S +'を持っていました。 –

0

100%ではありませんあなたが持っている可能性のあるシンボルのリストとは何ですか?多くとも1つの疑問符がありますか? これは指定した内容と一致しますが、複数の疑問符も一致します。

([A-Z?]{3} OR)*[A-Z?]{3} 
+0

質問 – Joper

0

(([\w\S]{3}\s+)or\s+)+[\w\S]{3} 
関連する問題