9

City textBoxを検証するための正規表現が必要です。citytextboxフィールドは、文字、スペース、ダッシュ(-)のみを受け入れます。

4

13 に答える 13

31

これは、一致がどれだけ正確である必要があるか、および許可するバリエーションに応じて、任意に複雑になる可能性があります。

かなり単純なもの^[a-zA-Z]+(?:[\s-][a-zA-Z]+)*$が機能するはずです。

警告:これはミュンヘンなどの都市とは一致しませんが、ここでは基本的に式の[a-zA-Z]部分を操作し、特定のケースで許可される文字を定義する必要があります。

San ---- Franciscoのようなもの、またはいくつかのスペースを持つことも可能になることに注意してください。

1つ以上の文字の後に、0以上のスペースまたはダッシュとそれ以上の文字のブロックが続く、この最後のブロックは0回以上発生する可能性があります。

そこには奇妙なものがあります:?:少し。正規表現に慣れていない場合は混乱するかもしれませんが、括弧で囲まれた正規表現はキャプチャグループではないことを示しているだけです(後で再利用するために一致する部分をキャプチャしたくない)。括弧は、式をグループ化するためにのみ使用されます(一致をキャプチャするためには使用されません)。

"New York" // passes

"San-Francisco" // passes

"San Fran Cisco" // passes (sorry, needed an example with three tokens)

"Chicago" // passes

"  Chicago" // doesn't pass, starts with spaces

"San-" // doesn't pass, ends with a dash
于 2012-08-01T10:13:27.347 に答える
5

私がしたように、都市名の正規表現を検索しているときに誰かがそれを必要とする場合は、私の答えを追加します

これを使用してください:

^[a-zA-Z\u0080-\u024F\s\/\-\)\(\`\.\"\']+$

多くの都市名には、テネシー州ソディデイジーなどのダッシュや、カリフォルニア州ラ カナダ フリントリッジの ñなどの特殊文字が含まれています。

お役に立てれば!

于 2013-10-24T19:35:25.070 に答える
1

この正規表現を使用します。

^[a-zA-Z-\s]+$

于 2012-08-01T10:12:39.933 に答える
1

市の正規表現マッチャーを何時間も探した後、私はこれを構築しましたが、それは私のニーズを100%満たしています

(?ix)^[A-Z.-]+(?:\s+[A-Z.-]+)*$

テスト都市の表現。マッチ

  • セント・シティ
  • いくつかの愚かな都市
  • シティストリート
  • トゥー・メニー・ワード・シティ

正規表現には多くのフレーバーがあるようで、Java のニーズに合わせてこれを作成しましたが、うまく機能します

于 2018-06-18T15:26:39.613 に答える
1
^[a-zA-Z\- ]+$

また、これは役に立つかもしれませんhttp://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

于 2012-08-01T10:11:53.873 に答える
0

これを試すことができます:

^\p{L}+(?:[\s\-]\p{L}+)*

上記の正規表現は次のようになります。

  • 前後のスペース、ハイフンを制限する
  • Néewiller-près-lauterbourg のような名前の都市を照合します
于 2014-08-26T10:30:04.113 に答える
0

私はそれを使用します:

^[a-zA-Z\\u0080-\\u024F.]+((?:[ -.|'])[a-zA-Z\\u0080-\\u024F]+)*$
于 2016-12-15T09:19:39.440 に答える