2017-03-09 1 views
0

だから私はこのPHPのパズル/挑戦をやってるとタスクは、この形式に一致する文字列を見つけることです:デコード正規表現フォーマットチェック

/^[\w][-.]+([A-B])[^a-z]{3}\.[0-9]{2,4}$/ 

をしかし、私はまさにこの部分手段の任意のドキュメントを見つけるcan't :

/^[\w] 

任意のワード文字:

[-.]+ 

他の部分は、私は次のようにうまくいけば正しく解釈しました出演者

[^a-z]{3} 

not-z 3倍ABCは受け入れられるべきである。

\.[0-9]{2,4}$ 

0-9の数字で終わらなければならない。

答えて

1

a.A123.12またはa-.-.-A123.12が一致します。

説明:開始から終了までの

/^[\w][-.]+([A-B])[^a-z]{3}\.[0-9]{2,4}$/試合:

Qty | Characters 
---------------------------------------- 
1 | word character 
1+ | "-" or "." 
1 | "A" or "B" 
3 | all characters apart from a-z 
1 | "." 
2-4 | figures 0-9 
1

[-.]は一致が-リテラルまたはリテラル.、及び+が一致それらの一つ以上を意味するので、[-.]+は、任意の数(ただし、少なくとも一つ)を含む文字列を意味- sおよび.秒と何もいずれかの手段。

他の部分のあなたの解釈は、これらのノートで、ほとんどが正しいです:

  1. ^と最初と最後の$はあなたが何を、残りの前または後の文字列に何も持っていないことを意味正規表現マッチの
  2. あなたが言及する終了番号の前にリテラルドットが必要です。

将来、https://regex101.com/のようなregexテスターサイトを使用して、正規表現の正規表現が何であるかを正確に確認できます。