0

私はこれを機能させることができないようです。Xが整数であるテキスト「job XXXXXXX」と一致させようとしています。

それをクラックすることはできません。私はそれを簡単に知っていますが、正規表現は私のものではありません。

これが私が取り組んでいるものです。どんな助けでも大歓迎です。

^[job\s]([0-9]{7}$)

シェーン

4

2 に答える 2

2
^job\s+\d+$

^ 文字列の先頭に一致

ジョブ - エラー..ジョブ

\s+ 1 つ以上のスペース

\d+ 1 つ以上の数字

$ 文字列の終わり

番号が必要な場合は、

^job\s+(\d+)$

\d+ を囲む括弧は、一致後に参照できるグループに番号を入れます。

編集:元の投稿を編集したので、編集した正規表現が機能しない理由を教えてください:

^[job\s]([0-9]{7}$)

正規表現の [] は文字セットを作成します。つまり、正規表現は、文字 jまたは文字 oまたは文字 bまたは空白文字、および THEN 数字と一致しようとしています。

編集2

次のような文字列に一致させるには:

string x = @"Please refer to job 1000000 for more information";

少し異なる正規表現が必要です。^ を使用して文字列の先頭に一致させたり、 $ を末尾に一致させたりすることは望ましくありません。これは明らかに行全体と一致しないためです。

代わりに、次のようなことをしたいと思うでしょう:

Console.WriteLine(Regex.Replace(x,@"job\s+(\d+)","REDACTED!!"));

置換で番号を参照したい場合は、次のようにすることができます。

Console.WriteLine(Regex.Replace(x, @"job\s+(\d+)", "Super Awesome Job: $1"));
于 2012-05-05T03:02:47.453 に答える
0

その正規表現は^JOB\ s \ d {5} $になります。ここで、5は整数の桁数です。カウントが固定されていない場合は、^ JOB \ s \ d + $

于 2012-05-05T03:07:51.713 に答える