2011-09-16 14 views
1
abcVIRTUAL123 ^(?!.*VIRTUAL).*$^([a-zA-Z]{3})([a-zA-z0-9]{7})(\d{3})$ FALSE 
abcVIRTUAL123 ^([a-zA-Z]{3})([a-zA-z0-9]{7})(\d{3})$      TRUE 
abcLOCATOR123 ^(?!.*VIRTUAL).*$^([a-zA-Z]{3})([a-zA-z0-9]{7})(\d{3})$ FALSE 
abcLOCATOR123 ^([a-zA-Z]{3})([a-zA-z0-9]{7})(\d{3})$      TRUE 

こんにちは、私はREGEXを初めて使い、ExcelのVBScriptライブラリを使用しています。RegEx - 文字列に特定の文字列が含まれていないかどうかを確認しますか?

上記の例では、文字列に 'VIRTUAL'という単語が含まれているかどうかを確認し、誤って一致している場合はチェックします。 私はそのパターンの残りの部分が文字列を有効にすることを除いて、ほぼそこにあると思います。 それは私の最初の否定的な先を無視している。

フォーラムからさまざまな組み合わせを試しましたが、固まっています。

助けてください。

乾杯 ニックは

答えて

1

この1:^([a-zA-Z]{3})(?!VIRTUAL)[a-zA-Z]{7}\d{3}$

たぶん良く一致このパターン^([a-zA-Z]{3})VIRTUAL\d{3}$と反転結果?

+0

ありがとう、最初の1つは素晴らしいです! –

1

あなたは「文字列の先頭に続いて、文字列の終わり」を意味し、あなたの正規表現の途中で$^んです。もちろん、これは決して一致することはできません。

は試してみてください

^(?!.*VIRTUAL)([a-zA-Z]{3})([a-zA-z0-9]{7})(\d{3})$ 
関連する問題