3

次のものだけを受け入れる式が必要です。

  • 数字
  • 通常の文字(特殊文字なし)
  • -

スペースも許可されていません。

例:正規表現は次のように一致する必要があります。
this-is-quite-alright

一致してはいけません
this -is/not,soålright

4

3 に答える 3

16

次を使用できます。

^[A-Za-z0-9-]*$

これは、大文字/小文字(ASCII AZ)、数字(ASCII 0-9)、およびダッシュで完全に構成されている、空の可能性がある文字列と一致します。

これは一致します(rubular.comで見られるように):

this-is-quite-alright
and-a-1-and-a-2-and-3-4-5

yep---------this-is-also-okay

そして拒否します:

this -is/not,soålright
hello world

説明:

  • ^$はそれぞれ文字列アンカーの始まりと終わりです
    • 文字列内で一致するものを探している場合は、アンカーは必要ありません
  • [...]キャラクタークラスです
    • a-z、、文字クラスで範囲を定義しA-Zます0-9
    • -クラスの最後の文字は文字通りのダッシュであるため
  • *ゼロ以上の繰り返しです

正規表現.info


変化

仕様は明確ではありませんでしたが、-「単語」を区切るためだけに使用される場合、つまり、二重ダッシュ、末尾ダッシュ、先行ダッシュがない場合、パターンはより複雑になります(わずかに!)

  _"alpha"_    separating dash
 /         \  /
^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$
 \__________/| \__________/|\
    "word"   |    "word"   | zero-or-more
             \_____________/
              group together

これは、少なくとも1つの「単語」である文字列に一致します。単語は1つ以上の「アルファ」で構成され、「アルファ」は文字と数字で構成されます。より多くの「単語」を続けることができ、それらは常にダッシュで区切られます。

これは一致します(rubular.comで見られるように):

this-is-quite-alright
and-a-1-and-a-2-and-3-4-5

そして拒否します:

--no-way
no-way--
no--way
于 2010-07-11T19:55:06.400 に答える
0
[A-z0-9-]+

しかし、あなたの質問は文字と数字を要求し、ダッシュを含む例があるので混乱します。

于 2010-07-11T19:57:48.533 に答える
0

これはコミュニティウィキであり、この「URL/SEOの長打」トピックに関する関連する質問へのリンクをまとめる試みです。コミュニティは貢献するように招待されています。

関連する質問

関連タグ

于 2010-07-11T20:32:17.700 に答える