1

任意の数の数字グループごとに1つのハイフンと一致する正規表現を考え出そうとしています。文字なし([az] [AZ])。

123-356-129811231235123-1235612346123451235

/[^\d-]/g

上記のものは以下の文字列と一致しますが、次のことを実行できます。

1223--1235 --- 123123 -------

私は次の投稿を見ていました。ハイフンを正規表現と一致させる方法は?答えを求めましたが、近くに何も見つかりませんでした。

@KonradRudolphが良い例を示しました。

7〜12桁に一致する正規表現。スペースまたはハイフンを含めることができます

このツールは私にとって便利ですhttp://www.gskinner.com/RegExr/

4

2 に答える 2

3

ハイフンで始めることはできないと仮定します。

^\d(-\d|\d)*$

分解:

^             # match beginning of line
   \d         # match single digit
   (-\d|\d)+  # match hyphen & digit or just a digit (0 or more times)
$             # match end of line

これにより、すべてのハイフンの直後に数字が必要になりますただし、以下は正当なパターンの例であることに注意してください。

213-123-12314-234234
1-2-3-4-5-6-7
12234234234

gskiner の例

于 2013-03-07T22:00:16.263 に答える
1

Alternatively:

^(\d+-)+(\d+)$

So it's one or more group(s) of digits followed by hyphen + final group of digits. Nothing very fancy, but in my tests it matched only when there were hyphen(s) with digits on both sides.

于 2013-03-07T22:24:38.077 に答える