0

egrep をインストールした後、Windows で正規表現を検索しようとしています。

これは私が見つけようとしているものの例です:

以下の文字列では、単一の特定の文字を比較している場所に一致させたい

if (lod_user.is_type == "A" || lod_user.is_type == "E" || lod_user.is_type == "S" || lod_user.is_type == "X")

したがって、許容できる結果はs_type == "A"、またはs_type == "S"

これらは私が試みたクエリです:

"c:..\..\Program Files (x86)\GnuWin32\bin\egrep.exe" -Hn --regexp=s_type[\s-]*==[\s-]*"[CUOMPSQDEXYAZ]" FILENAME

egrep へのアドレス。ここでは単に egrep と呼びます。

egrep -Hn --regexp=type[\s-]*==[\s-]*"[CUOMPSQDEXYAZ]" FILENAME

egrep -Hn --regexp=[\s-]*==[\s-]*"[CUOMPSQDEXYAZ]" FILENAME

egrep -Hn --regexp=[\s-]*==[\s-]*"A" FILENAME1文字でテストするだけ

egrep -Hn --regexp=^type[\s-]*==[\s-]*"[CUOMPSQDEXYAZ]"$ FILENAME

egrep -Hn --regexp=^type$[\s-]*==[\s-]*"[CUOMPSQDEXYAZ]" FILENAME

すべての試行を投稿するつもりはありません。ある時点で、いじって推測し始めたばかりだからです。この正規表現はhttp://gskinner.com/RegExr/s_type[\s-]*==[\s-]*"[CUOMPSQDEXYAZ]"で動作するので、cmd に何か関係があり、エスケープされていない文字の問題があると考えましたが、引用符をたとえばに置き換えてみましたが、まだ何もありません。この正規表現は機能しますが、私が望むものを達成しません。^"[\s-]*==[\s-]*"."

4

2 に答える 2