我想用PHP的以下正则表达式替换字符串开头的所有字符重复:
^.{3,5000}
Run Code Online (Sandbox Code Playgroud)
如果我使用
echo preg_replace('#\^.{3,5000}#i', '', '------This is a test.');
Run Code Online (Sandbox Code Playgroud)
将回应文本"------这是一个考验".虽然正则表达式本身在任何正则表达式测试中都能正常工作.
再见,克里斯蒂安
试试这个:
<?php
echo preg_replace('#^(.)\1{3,5000}#', '', '------This is a test.');
?>
Run Code Online (Sandbox Code Playgroud)
将打印:
This is a test.
Run Code Online (Sandbox Code Playgroud)
注意,括号内的括号.存储在组1中匹配的任何内容.然后,该组1重复3到5000次.因此,总共匹配至少4个重复字符.如果你想匹配至少3个重复的字符(以及之后的任意数量),你可以这样做:
'#^(.)\1{2,}#'
Run Code Online (Sandbox Code Playgroud)
(通过省略第二个整数值,{2,}您将匹配任何金额.简而言之,{2,}意味着:"两个或更多")