我想替换每个WORD中的所有连续字符(如果超过三个)(三个是德语中最大的可能性,两个是英语的,所以我知道输出示例在语法上是错误的)。
输入示例:
Hellooooo Louis, whaaaaaat's up pal?
预期产量:
Hellooo Louis, whaaat's up pal?
我尝试更改:
preg_replace('/(\w)\1+/', '$1', $word);
至
preg_replace('/(\w)\3+/', '$1', $word);
但是,它不输出任何内容。
参考方案
您可以使用以下正则表达式:
((\w)\2{2})\2+
见demo
替换为$1。
IDEONE:
$re = "#((\w)\\2{2})\\2+#";
$str = "Hellooooo Louis, whaaaaaat's up pal?";
$subst = "$1";
$result = preg_replace($re, $subst, $str);
echo $result;
输出:
Hellooo Louis, whaaat's up pal?
说明:
我们用(\w)捕获符号-它是第2组的值。然后,我们检查它是否紧跟同一个字符,并带有\2{2} 2次,然后将其捕获到组1中。然后,我们将更多相同的后续字符与\2反向引用进行匹配。
php:拆分字符串,直到第一次出现数字 - php
我有像cream 100G sup 5mg Children 我想在第一次出现数字之前将其拆分。所以结果应该是array( array('cream','100G'), array('sup','5mg Children') ); 可以告诉我如何为此创建图案吗?我试过了list(…PHP strtotime困境 - php
有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…PHP-全局变量的性能和内存问题 - php
假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…php-casperjs获取内部文本 - php
我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…preg_match不捕获内容 - php
我的preg_match有什么问题?preg_match('numVar("XYZ-(.*)");',$var,$results); 我想从这里获取所有内容:numVar(“ XYZ-CONTENT”);感谢您的任何帮助! 参考方案 我认为这是PHP?如果是这样,则您的代码存在三个问题。PHP的PCRE函数要求使用分隔…