regex kapsülleme php

2 Cevap php

Regex kapsülleme ya '/' veya '#' kullanarak farkları artıları / eksileri nelerdir

örneğin

'/' = preg_match('/MYSEARCH}(.+)ENDMYSEARCH/s',$out,$matches);

'#' = preg_match('#MYSEARCH}(.+)ENDMYSEARCH#s',$out,$matches);

Teşekkürler!

2 Cevap

PHP / PCRE'nin için önemli tek şey same character at the beginning and at the end kullanmak zorunda olmasıdır.

Senin için ne önemli kaçan: regex içinde, bunu kullanmak istiyorsanız sınırlayıcı kaçmak zorunda.

Örneğin, bir sınırlayıcı olarak / kullanan bir URL, bir bölümünü maç için, bu gibi görünebilir Regex:

'/^http:\/\/www/'

Kolay değil, ve iyi görünümlü değil - / ayırıcı olarak, size regex içinde olan eğik kaçmak zorunda kullanma.

Öte yandan, # ayırıcı olarak kullanarak:

'#http://www#'

Çok daha yazmak ve okumak için daha kolay, değil mi?


Depeding on your need and/or preference, you can use whatever character you want -- I sometimes see '!' or '~', for instance.

Ayrıca preg_quote sen kaçtı için sınırlayıcı ile ekleyebilir unutmayın.