0

個人のイニシャルを次のルールに照らして検証する必要があります。

  1. アルファ (AZ) で開始する必要があります
  2. アルファ (AZ) で終わる必要があります
  3. 英字はスペースまたはハイフンで区切る必要があります

これは私が持っている限りです:

^[[:alpha:]]([[:alpha:]]|([[:blank:]-])[[:alpha:]])*([[:blank:]-][:alpha:]|[:alpha:])?$

1 と 2 を実行します (スペースとハイフンを使用できます) が、アルファ文字がスペースまたはハイフンで区切られていることは保証されません。つまり、AD は true と評価されます。

助けてくれてありがとう。私は正規表現にかなり慣れていないので、助けていただければ幸いです。

4

2 に答える 2

0

アルファ記号または AZ?

[:alpha:] == [A-Za-z]

この RE を試してください:

^[A-Z]([\s\-][A-Z])*$

"A B C" = true
"ABC" = false
"123" = false
"A B-C" = true
"A BC" = false

RE では、単一の英字または複数の英字を使用できますか?

于 2013-07-12T09:07:16.440 に答える