0

- ( ) +一部のユーザー入力を検証する必要があり、特殊文字とスペースとともに0〜9の数字のみを受け入れることができます。

ルールとして:

  1. 同じ特殊文字(スペースを含む)が2回連続して表示されることはありません。たとえば、(( )) ++ --すべてが無効になります。
  2. +文字列は、またはのいずれかで始まる必要があります00
  3. 開き角かっこは常に閉じかっこに先行し、1桁を超える数字を囲む必要があります。たとえば、(1) (12) (123)などは許容されますが、許容() )( ( )されません。

私はポイント2をでトレーニングすることができます^([0][0]|[+])

4

1 に答える 1

-1

これを試してみてください:

^(00|\+(?!\+))(\+(?!\+)|(\-(?!\-))|( (?! ))|(\([1-9][0-9]*\)))*$

指定したとおりに、各ルールに正確に従います。ルールを完全に明確にしていない場合、正確な正規表現を提供するのは難しいでしょうが、正確なルールを書き留めていれば、これでうまくいくはずです!

+文字列が一致するという奇妙なケースが含まれていることに注意してください。それが意図的だったかどうかはわかりません。

この正規表現は、否定先読みを自由に使用します。www.regular-expressions.info と www.regexpal.com にアクセスして、正規表現のスキルを磨いてください。

于 2013-02-15T22:03:15.650 に答える