ОДИН вопрос регулярное выражение PHP - PullRequest
1 голос
/ 27 июня 2010

Подсчет символа '_' в стартовой строке

пример:

subject = '_abcd_abc';   // return 1
or 
subject = '__abcd_abc';  // return 2
or 
subject = '___abcd_abc';  // return 3

все помогают мне ~ Я использую PHP

Ответы [ 2 ]

3 голосов
/ 27 июня 2010

Если вы уверены, что начало строки содержит _, вы можете сделать это просто с помощью strspn():

echo strspn('___abcd_abc',  '_');
// -> 3

Если не может быть начальных подчеркиваний, вы можете сделать это безрегулярное выражение с использованием strlen и ltrim:

strlen($str) - strlen(ltrim($str, "_"));

Подсчитывает длину строки, затем вычитает длину строки без подчеркиваний слева, в результате получается число подчеркиваний.

1 голос
/ 27 июня 2010

Попробуйте это:

return preg_match('/^_+/', $str, $match) ? strlen($match[0]) : 0;

Если preg_match находит совпадение, $match[0] будет содержать это совпадение, а strlen($match[0]) возвращает длину совпадения; в противном случае выражение вернет 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...