Хэрэглэгчийн
оруулсан мэдээллийг Regexp-д pattern
гэнэ. Pattern гэдэг нь тоо,
vг (ар араасаа дараалсан vсэгнvvд ), эсвэл vсэг, тооны холимог байж болно.
Pattern жирийн хялбархан,
эсвэл нvсэр том, боловсронгуй байж болно.
Хойшид
pattern бичихдээ бусад
vгнээс ялгахын тулд хашилтын тэмдгийн дунд ( " " ) бичнэ. Жишээ -->
"pattern".
Pattern-г
тодорхойлох эхний тєрєл тэмдэгтvvдийг ( vсэг, тоо, vг гэх мэт ) Literal
гэнэ. Literal бол яг
яаж бичигдсэн тэр хэлбэрээрээ утгаа хадгалдаг.
Иймээс
literal-аар бид тодорхой хайлт явуулж уг pattern-д
таарсан бvх vр
дvнг хvлээж авдаг. Жишээ нь
"бар" гэсэн literal
pattern зєвхєн "бар"
гэсэн vгийг олоход хэрэглэгдэх мэт.
Дaрaaгийн
тєрєл болох Metacharacters буюу "хувьсагч тэмдэгтvvд" бол єєрийн жинхэнэ
утгаасаа цааш олон утга агуулж болох тэмдэгтvvд.
Эхний
Metacharacter бол єгvvлбэрийн эцэст ордог цэг. Цэг нь (
"." ) ямарваа хайлтаас ганцаараа
байгаа тэмдэгтvvдийг олно. Жишээ нь хайлтын эцэст:
a, b, c, d, x, y, z гэх мэт ганц vсгээс ( тэмдэгт ) бvтсэн бvх биетийг
гаргаж ирнэ. Дараачийн гурван Metacharacter нь олон тохиолдол бvхий хариу гаргадаг.
Эхний "n*"
Metacharacter зєвхєн n тэмдэгтvvдийг
олно. n, nn, nnn, nnnn
гэх мэт. Дараачийн "n+"
нь "n*"-тэй
тєстэй гэхдээ багаар бодоход нэг хариу олохыг шаарддаг. Дараачийн
"n?"
Metacharacter нь ганцхан n олохыг шаардана.
Хэрвээ хайлтын тэмдэгтvvдийн
тоог мэдэж байвал тэр тоог нь муруй хаалтын тэмдэгт (
{} ) оруулаад болоо. Жишээ нь
"n{3}" хайлтаар nnn
гэсэн тэмдэгтvvд олдоно. Хэрвээ
"n{3,}" гэвэл ( 3-ын ард байгаа таслалыг анхаар ) nnn,
nnnn, nnnnn гэх мэтээр гурваас дээш тооны n
гэсэн тэмдэгтvvдийг олно. Харин "n{3,5}"
гэвэл гурваас тавын хоорондох n
тэмдэгтvvдийг олно. nnn, nnnn,
nnnnn гэх мэтээр. Эцэст нь (
^ ), энэ тэмдэгтийн араас нь бичсэн vсгээр эхэлсэн бvх хоёр тэмдэгтээс
бvтсэн string-г олоход
хэрэглэнэ. Жишээ нь "^n"
гэвэл na, nf, n5, np, nr, nx
гэх мэт. Харин "n$"
гэвэл n -ээр дууссан
бvх хоёр тэмдэгтээс бvтсэн string олдоно. Жишээ нь an,
en, 5n, jn гэх мэт.
Бас нэг тэмдэгт бол босоо зураас ( |
). Босоо зураасаар хоёр тусдаа тэмдэгт хайхад хэрэглэнэ.
"n|m" гэсэн Metacharacter хайлтаар n
ба m гэсэн бvх string
олдоно.
Regexp-д
хэрэглэдэг тусгай тэмдэгтvvд |
тэмдэгтvvд | хайлт |
. | Бvх
тэмдэгт |
^n | n-ээр
эхэлсэн |
n$ | n-ээр
тєгссєн |
n+ | n
агуулсан (багаар бодоход нэг) |
n? | 0
эсвэл ганцхан n агуулсан |
\n | шинэ
мєр |
\t | зай
авах |
\ | ардаа
байгаа тэмдэгийн утгыг єєрчлєх |
(nm) | n
m хоёр хамтдаа |
(n|m) | n
эсвэл m агуулсан |
n{2} | nn |
n{1,} | n,
nn, nnn, nnnn гэх мэт |
n{1,3} | n,
nn, nnn |
[a-z] | бvх
жижиг тэмдэгтvvд |
[A-Z] | бvх
том тэмдэгтvvд |
[0-9] | бvх
тооны тэмдэгтvvд |
Functions
РНР-д
string дотроос ямар
нэг тэмдэгтийг сонгоход хэрэглэдэг 2 functions
байдаг. Эдгээрийг дурдвал
ereg()
eregi()
eregi()
нь string-ээс
том жижиг ялгаагvй тэмдэгтээс бvтсэн тэмдэгт сонгодог байхад ereg()
нь том жижиг тэмдэгтийн ялгааг хамаардаг. ereg()
нь гол тєлєв нууц vг шалгах мэтийн нарийвчилсан vйлдэлд хэрэглэгдэнэ. Энгийн хайлт
хийхэд eregi() нь голчлон хэрэглэгддэг.