Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用正则表达式获取文本开头的#字符数_Php_Regex - Fatal编程技术网

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

Php 使用正则表达式获取文本开头的#字符数,php,regex,Php,Regex,是否可以找出以下字符串: #### This is just a string 开头有4个#字符,PHP中有regex?基本上返回这些字符的数量。我正在寻找一个单线解决方案 它必须只在字符串的开头找到这些字符组合使用strlen和ltrim调用可以很好地完成这一任务: $numHashes = strlen($str) - strlen(ltrim($str, '#')); 它不是正则表达式,但您可以使用内置函数来计算主字符串中的子字符串(#): 请参阅php.net上的更多示例 祝你好运

是否可以找出以下字符串:

#### This is just a string
开头有4个
#
字符,PHP中有
regex
?基本上返回这些字符的数量。我正在寻找一个单线解决方案


它必须只在字符串的开头找到这些字符

组合使用
strlen
ltrim
调用可以很好地完成这一任务:

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

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

请参阅php.net上的更多示例

祝你好运

David

关于字符串开头的匹配项或上一个匹配项结束的位置如何

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


你可以做
preg\u replace
strlen
,这是一个单行程序吗?你试过什么吗?使用
如果(preg#u match(“/^#+/”,“#######这只是一个字符串,$matches”)
然后检查匹配的长度。变量:
回显preg#u match_all('/#/a',$str)@CasimiretHippolyte输入正确!我还不知道这面旗。谢谢:)
echo preg_match_all('/\G#/', $str);