0

文字列内の数字/数字グループのみに一致する正規表現を作成するためのヘルプが必要です。

8000 30 4000一致する必要があります8000 30 4000

ABC13 8000 3999 2999 Comment一致する必要があります[space]8000 3999 2999[space]

ABC13 80 55 5600 6000 2700 SDR3 Comment一致する必要があります[space]80 55 5600 6000 2700[space]

私はこれまでこれを試しました:

([^a-zA-Z]+[^0-9]{0,2})+(\s*\d{0,4}\s*)
4

1 に答える 1

1

あなたはこれを少し考えすぎていると思います。そして、そこには壊滅的なバックトラックもあります。必要なのは、スペース、数字、およびワード境界です。

\s*\b[\d\s]+\b\s*

これは、3つのケースすべてで機能します。\s*途中でオプションのスペースをキャプチャしますが、単語の境界により\b、2番目と3番目のケースが一致に含まれないように13します。

すべての数字が最大4桁であることを確認したい場合:

\s*\b(?:\d{1,4}\s+)*\d{1,4}\b\s*
于 2012-11-02T11:57:28.897 に答える