2011-06-24 13 views
0

同僚が部分文字列UAT(大文字と小文字を区別しない)を探している大きなスクリプトをスキャンしています。残念なことに、このスクリプトには、単語全体またはフィールド名の一部として、「評価」への参照が多数含まれています。RegEx help - 特定の単語を除いて部分文字列を検索

次のサンプルのように、どのようなRegEx検索パターンがUATに一致するかを返しますか?

  • UAT:
  • UATを一致:
  • と一致評価:いいえマッチ
  • ValuationDate:いいえマッチ

感謝

ニール

  • TheUATServer1と一致
  • +1

    偽陽性につながる可能性のある「評価」以外の言葉はありますか?言って、「同値」? – mhyfritz

    +0

    おそらく、現時点では物事を減速させる「評価」です。私は、他のものが問題として浮上した場合、複数の単語を除外するためにOR条件を一緒に使うことができると推測します。 –

    答えて

    1

    編集:これは、OPの場合に有効です。 ~(prevent)あなたはそれ自体でuatを望んでいた場合

    、あなたがこれを使用することができます:uat~(ion)

    SSMS(およびVisual Studio)正規表現は、負の先読みのために異なる構文を持っています

    はこの表現を試してみてください<uat>

    <および>はそれぞれ単語の始まりおよび終わりを表します。

    +0

    これは 'TheUATServer1'にはマッチしません。 – mhyfritz

    +0

    @mhyfritz、もちろんあなたは正しいです。新しい答えが今はうまくいくはずです。 –

    +0

    ありがとうございました。 ssms正規表現をチェックしてください。 –

    0
    fgrep -i "uat" FILE | fgrep -i -v "valuation" 
    

    時には、最も簡単なツールはすばらしいことをすることがあります。

    あなたが持っているツール、正規表現のフレーバー(多くのものがあります)は指定していません。そして、あなたが探しているものは正規表現(否定的な表記(ahead|behind))で定義できますが、単純な文字列の検索と否定はより速くなります。

    +0

    ツールは、正規表現検索ダイアログを通じてSQL Server Management Studio(2008)です。今fgrepを見ています。 –

    0

    あなたはこれがUATvaluationのようionが続いていないことを保証否定先読みであり、この

    UAT(?!ion) 
    

    を試すことができます。あなたのツールがこれをサポートしているかどうか、このルールがあなたのニーズに十分に厳しいかどうかはわかりません。

    アクティブにする必要があるのは、大文字と小文字を区別しない一致です。

    0

    大文字と小文字を区別することや新しい要件に

    を組み込むように編集私はあなたがしたい正規表現は単純だと思う:uatすなわち

    [Uu][aA][tT](?![iI][oO][nN]) 
    

    (どのような場合)ionが続いていません(どのような場合)

    関連する問題