1

1)正規表現での言い方:文字がまったくない場合にのみ一致カウンターを増やしますか?

私はこれを思いついた:

"/^[^a-zA-Z]+$/"

動作しているように見えますが、動作中になぜ"/^[^a-zA-Z]+/"動作しないのかわかりません"/[^a-zA-Z]+$/"

2)これはどういう意味ですか?: "/[a-zA-Z]+/"すべての要素が範囲azまたはAZにある場合にのみ、一致カウンターが増加することを意味すると思いました。しかし、テストは私が間違っていることを示しています。これも試してみまし"/^[a-zA-Z][a-zA-Z]+/"たが、これも「aa11」に1を与えます。

前もって感謝します

4

2 に答える 2

5

投稿した正しい正規表現は。だけです/^[^a-zA-Z]+$/。残りはすべて間違っています。

一致を文字列の開始と終了にそれぞれ固定^するには、と$が必要です。

  • /^[^a-zA-Z]+/aaa111文字列の終わりのアンカーがないため、一致します。
  • /[^a-zA-Z]+$/111aaa文字列の開始アンカーがないため、一致します。
  • /[a-zA-Z]+/111aaa111文字列の開始アンカーまたは終了アンカーがないため、一致します。文字列のどこかに文字がある場合に一致します。
于 2012-05-10T06:08:22.917 に答える
1

個人的には/^[:alpha:]+$/ 、正規表現をディリメーターで開始するのが好きです。これは何でもかまいません#^[:alpha:]+$#^は入力の開始であり、$は終了です。+1つ以上の一致の場合です。チュートリアル/情報

于 2012-05-10T06:19:47.460 に答える