2

私はこのような文字列を持っています:

"(33) 3669-0210 Gerencia"

C#で正規表現を使用して、両端に空白が見つかるまで、-(ハイフン)の前後のすべての数字を取得しようとしています。

出力は

"3669-0210"

C#で動作する正規表現を手伝ってくれる人はいますか?

4

3 に答える 3

6

次の式を使用できます。

\b\d+-\d+\b

これは、非キャプチャワード境界指示子であり、その後に 1 つ以上の数字、その後にハイフン、1 つ以上の数字、最後に別の非キャプチャ ワード境界が続きます。

一致する数字が常に 4 桁の長さである場合、これはより正確です。

\b\d{4}-\d{4}\b
于 2012-05-25T14:20:38.900 に答える
3

"[0-9]+-[0-9]+"これで十分なはずです

説明:

[0-9]+ - 少なくとも 1 つの数字

- - ハイフン

[0-9]+ - 少なくとも 1 つの数字

于 2012-05-25T14:22:06.190 に答える
1

次の式を使用できます。

\S+-\S+

これは、1 つまたは複数の非空白文字の後にハイフンが続き、その後に 1 つまたは複数の非空白文字が続きます。

于 2012-05-25T14:22:54.487 に答える