0

正確にxの長さ(たとえばxは2-4)の数値と一致する正規表現パターンを探していますが、それ以外は何もありません。

例:

"foo.bar 123 456789"、、、は「123」のみに一致する必要が"foo.bar 456789 123"あり" 123"ます"foo.bar123 "

それで。数字のみで、スペース、文字、その他のものはありません。

どうすればいいですか?

編集:c#でRegex.Matches()関数を使用して、この2〜4桁の数字を抽出し、追加のコードで使用したいと思います。

4

2 に答える 2

1

これは、基本的な正規表現で実現できます。

\b(\d\d\d)\bまたは\b(\d{3})\b-正確に3桁の数字と一致させる場合

可変数字が必要な場合:(\b(\d{2,4})\bここでデモを説明)
単語の横にある一致をキャプチャする場合:(\D(\d{2,4})\Dここでデモを説明

\b単語の境界です(何にも一致しません。ゼロ一致の文字です)
\d数字のみに
\D一致します数字ではない任意の文字に一致します
()丸括弧内のすべてが一致をキャプチャします

于 2013-03-09T17:16:13.253 に答える
1

パターンの後にaが続く{m,n}場合、パターンはm〜n回発生します。したがって、あなたの場合\d{m,n}、mとnの必要な値について。正確に整数である必要がある場合は、\d{m}

1234ではなくx123yで123と一致させたい場合は、\d{3}(?=\D|$)(?<=(\D|^)\d{3})

3桁の後に続く文字がまったく数字ではないか、まったくないことを確認するために先読みし、3桁の前の文字が数字以外またはまったくないことを確認するために後ろを振り返ります。

于 2013-03-09T14:35:08.207 に答える