使用正则表达式获取文本开头的#个字符数

时间:2017-07-24 16:23:19

标签: php regex

是否有可能找到这个字符串:

#### This is just a string

开头有4个#个字符,PHP中有regex个字符?基本上返回那些字符的数量。我正在寻找一个单行解决方案

只能在字符串

的开头找到这些字符

3 个答案:

答案 0 :(得分:2)

strlenltrim调用的组合可以很好地完成这个操作:

$numHashes = strlen($str) - strlen(ltrim($str, '#'));

答案 1 :(得分:2)

\G anchor如何匹配字符串的开头或上一个匹配结束的位置。

echo preg_match_all('/\G#/', $str);
  

4

See demo at eval.in

答案 2 :(得分:1)

它不是正则表达式,但您可以使用内置函数来计算主字符串中的子字符串(#):

http://php.net/manual/en/function.substr-count.php

$text = 'This is a test';
echo substr_count($text, 'is'); // 2

在php.net上查看更多示例

祝你好运

大卫