Preg_match ile aynı karakteri birden geçtiği Eşleştirme

3 Cevap php

how can i find multiple occurrence of the same character? something like:

$maxRepeat = 3;

"pool" passes

"poool" don't

i herhangi bir karakter için çalışmak için bu gerekiyor, bu yüzden ben gibi özel karakterler kaçış gerekecek sanırım. ve \

kaçmak zorunda karakterler?

sen ayrı php.net üzerinde birinden preg_match regexp için herhangi bir iyi bir referans biliyor musunuz?

3 Cevap

Bunun için quantifiers kullanın

preg_match("/p(o){1,3}ls/",$string);

Excerpt:

The following standard quantifiers are recognized:

1. * Match 0 or more times
2. + Match 1 or more times
3. ? Match 1 or 0 times
4. {n} Match exactly n times
5. {n,} Match at least n times
6. {n,m} Match at least n but not more than m times

P erl Reg ular İfadeler öğrenmek için benim favori kaynak onur zaman camel book. Bir kullanışlı yoksa Ancak, this site oldukça iyidir.

bulundu, ne gerek olduğunu

(preg_match ('. / () \ 1 /', $ t)) return true ise;

Bu $ t = 'aa' için döndürür true; / / Herhangi bir karakter

if (preg_match ('. / () \ 1 \ 1 /', $ t)) return true;

Bu $ t = 'aaa' için döndürür true; / / Herhangi bir karakter

ve benzeri

/.{1,2}/         # 2 is limit, 1 to have at least one character

Her karakter için $amxRepeate int olup olmadığını regex biçimlendirmek gerekir, bir çok kez tekrarlanabilir.