1

正規表現を書いた経験はほとんどありません。文字列にゼロ、スペース、ハイフン、コロンのみが含まれていることを確認するにはどうすればよいですか? ありがとう!

4

3 に答える 3

3

単純な正規表現 (前方参照なし) を使用すると、良好なパフォーマンスが得られるはずです。

^[0 :-]++$

それを分解する:

  • ^入力の始まりを認識します
  • []括弧内の任意の文字が一致することを意味します。
  • +は、先行する (括弧) が 1 回以上一致する必要があることを意味します。++それをpossesiveにし、パフォーマンスを向上させます。
  • $入力の終わりを認識します
于 2012-10-11T19:22:18.743 に答える
3
/^[0\s:-]+$/ 
  • ^= 文字列の開始
  • [0\s:-]+= 1 つ以上のゼロ、スペース、ハイフン、コロン。1 つ以上+意味は、改行やタブを含む可能性のある任意の空白文字です。\s
  • $= 文字列の終わり

^パターンは と の間に固定されているため、文字クラス$以外の[]文字は一致しません。

空白文字の代わりに、リテラル スペースのみを許可する場合は、次を使用します。

/^[0 :-]+$/ 
于 2012-10-11T19:22:21.773 に答える
1

範囲を使用できます。

^[0 \-:]{1,}$
于 2012-10-11T19:21:10.413 に答える