2009-05-22 21 views
128

this programを使用してテーブルの束を処理していますが、 "tbd_"というラベルで始まるものを無視する必要があります。これまでのところ、私は[^ tbd_]のようなものを持っていますが、単にそれらの文字と一致しません。シーケンスで始まらない文字列の正規表現

+0

SchemaSpyはどのように機能しますか?あなたはそれをテーブル名のリストに渡しているのですか、それとも正規表現を渡していて、マッチングをしていますか? –

+0

正規表現を渡しています(それは-iフラグです)。一致するものをインポートします。つまり、どんな場合でもそうです=) – echoblaze

+3

@echoblaze:XMLを処理しているなら、XMLパーサー?それは正規表現を使うよりはるかに簡単です。 – Gumbo

答えて

240

あなたは、負の先読みアサーションを使用することができます。

^(?!tbd_).+ 

または負の表情ビハインドアサーション:

(^.{1,3}$|^.{4}(?<!tbd_).*) 

それとも文字セットと交替昔ながら:

^([^t]|t($|[^b]|b($|[^d]|d($|[^_])))).* 
+2

これは特定の正規表現エンジンに限定されていますか? –

+1

私のテストでは、まだ2番目のものがtbd_と一致しているように見えるので、私は尋ねます。最初のものは素晴らしいです。 –

+3

regular-expressions.infoの味の比較を見てください:http://www.regular-expressions.info/refflavors.html – Gumbo