私はこれを機能させることができないようです。Xが整数であるテキスト「job XXXXXXX」と一致させようとしています。
それをクラックすることはできません。私はそれを簡単に知っていますが、正規表現は私のものではありません。
これが私が取り組んでいるものです。どんな助けでも大歓迎です。
^[job\s]([0-9]{7}$)
シェーン
^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"));
その正規表現は^JOB\ s \ d {5} $になります。ここで、5は整数の桁数です。カウントが固定されていない場合は、^ JOB \ s \ d + $