Temel sıradanifade yardım

4 Cevap php

Ben programlama PHP için yeni ve formda bir alan doğrulamak için çalışıyorum.

The field if for a RAL color code and so would look something like : RAL 1001. so the letters RAL and then 4 numbers.

Can someone help me set them into a regular expression to validate them. i have tried this with no success:

$string_exp = "/^[RAL][0-9 .-]+$/i";

Ne diyebilirim ama PHP de tam bir noob olduğu için üzgünüm.

Cheers Ben

4 Cevap

Eğer dize "RAL" eşleştirmek istiyorum oysa [RAL], R, A veya L ya, sadece bir karakterle eşleşir. Yani muhtemelen, böyle bir şey istiyorum

$string_exp = "/^RAL[0-9]{4}$/";

Bu "RAL1001" maç, ama "RAL1", "RAL 1001", "RAL12345", vb olacaktır RAL ve numarası arasında boşluk istedim, sonra da regexp içine boşluk koyun.

Gereksiz karakter sınıflarını kaldırarak, olsun istiyorum:

/^RAL \d{4}$/i

Harf duyarsız bayrağını kullanarak örneğin Ral 1245 veya raL 9875 olarak da bu tür durumlarda, maç olacağını unutmayın.

/^RAL [0-9]{4}$/

Onlar gibi harf girerseniz, onlar gibi bulunur. Eğer [] şey içine varsa, bu demektir: "Bunlardan biri tek bir karakter ara."

(Eğer i bayrağı uygulamak zaman, çok, veya "RAL") Bu nedenle bir edebi "RAL" ile başlayan bir edebi "RAL" bulur.

Bağlıdır!

...
if( preg_match('/RAL\s*(\d{4})(?!\d)/', $name, $m) ) {
   echo $m[1];
}
...

This accepts 'someRAL 1234within text'
but doesn't accept 'RAL 12345'.

The exact regex depends entirely on your
context or specifications. You have to be more explicit in your question.