考虑以下字符串:1:cccbbb2:cccaaabbb我想结束这样的比赛:1:Array([1]=>[2]=>bbb)2:Array([1]=>aaa[2]=>bbb)如何在一个RegExp中匹配两者?这是我的尝试:#(aaa)?(.*)$#我已经尝试了很多贪婪和非贪婪修改的变体,但都没有奏效。只要我添加“?”一切都在[2]中匹配。使[2]变得不贪婪无济于事。如果我省略“ccc”,我的RegExp会按预期工作,但我必须在开头允许其他字符... 最佳答案 /(aaa)?((.)\3*)$/不过会有一个额外的[3]。我认为这不是问题。
这是我的代码:$long=str_repeat('averylongstringtext',100);//trychanging100to5000$str=ashortstringtext$longSTR;preg_match_all('@([^]+)@sU',$str,$matched);print_r($matched);它完全按预期工作。但是,在你将100次重复更改为5000次之后,运行print_r($matched);而且您只会得到短字符串出现的结果。我的问题是如何使preg_match或preg_match_all处理大字符串文本(大至1MB或更大)?
我已经将我的php升级到5.3,所以我需要将正则表达式更改为preg_match。我已经成功地使用定界符对脚本进行了一些更改并将正则表达式更改为preg_match但我对以下代码感到震惊,尽管我没有收到任何错误cookie未被删除,但我尝试按以下方式进行更改。if(preg_match('#COOKIE_PREFIX#i',$key))原代码为//destroysthesessioncookiesfunctiondestroy($hash){foreach($_COOKIEas$key=>$value){if(eregi(COOKIE_PREFIX,$key)){$key=str_re
我创建了一个在Dreamweaver的正则表达式查找中工作的正则表达式模式,但是当放入preg_match的模式时,它失败了。我在PHP(5.1.6)正则表达式规则中违反了什么,否则这些规则在Dreamweaver的解释中有效?这是PHP:preg_match("/(\{a\})([a-zA-Z0-9{}.])+(\{/a\})/i","{a}{900678}{abcde}{0}{0}{0}{/a}");当前返回false。我如何修改模式,使其匹配任何以{a}anythinggoesinthemiddle{/a}类型字符串开头的字符串?我意识到上面的正则表达式不会匹配中间的“任何东西”
我知道有很多问题要求帮助将URL转换为字符串中的可点击链接,但我还没有找到我正在寻找的东西。我希望能够匹配以下任何示例并将它们变成可点击的链接:http://www.domain.comhttps://www.domain.nethttp://subdomain.domain.orgwww.domain.com/foldersubdomain.domain.netsubdomain.domain.edu/folder/subfolderdomain.netdomain.com/folder我不想匹配random.stuff.separated.with.periods。编辑:请记住,这
下面的代码显示了字符串的第一段,但我希望它显示前三段:preg_match("/(.*)/",$paragraphs,$matches);echo$matches[0];我是正则表达式的新手,所以我一直在努力解决这个问题。有什么想法吗?感谢您的帮助。 最佳答案 你可以使用preg_match_all:preg_match_all("/(.*)/",$paragraphs,$matches);echo$matches[0][0];echo$matches[0][1];echo$matches[0][2];当您使用preg_match_
是否可以在不使用括号的情况下对正则表达式的各个部分进行分组?或者,换句话说,不匹配某些括号语句?这就是我的意思——考虑以下正则表达式:$pattern='/^(what|where|who)(are|is)(.+)$/i';preg_match($pattern,$input,$matches);现在。注意前两个子查询——带有竖线的子查询。我如何防止这些出现?如果$input是“whoishe”,我希望“he”是唯一匹配的子查询。我明白,在这个例子中,我可以只获取$matches[3],这会给我正确的结果。然而,由于我的应用程序的性质,我正在动态生成正则表达式,并且结构不会总是像我在这
我如何在php中编写phppreg_match()来挑选出250值。我有一大串html代码,我想从中挑选出250个,但我似乎无法正确使用正则表达式。这是我要匹配的html模式-请注意,我要提取250所在的整数:H$250我已经尝试了几个小时来做这件事,但我无法让它工作,哈哈 最佳答案 preg_match('/H$(\d+)/i',$your_html,$matches);print"Its".$matches[1]."USD";正则表达式实际上取决于您的代码。您究竟在何处搜索? 关
我正在尝试验证一个域是否确实具有带有preg_match和REGEX的GET参数,我要求它具有我的目的。我的工作是验证没有GET参数的域,如下所示:if(preg_match("/^[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}$/",'domain.com')){echo'true';}else{echo'false';}我在这个测试中得到了正确的结果。到目前为止一切顺利。我遇到的问题是添加GET参数,在我尝试过的许多REGEX中,仍然没有运气如下:if(preg_match("/^[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.
我希望你能帮我创建一个正则表达式,从url中提取图像名称。几天来我一直在尝试创建正则表达式,但我无法让它工作。案例:我有一个用phpThumb创建的图像url,如下所示:\bla\thumb\phpThumb.php?src=/bla/images/thisistheimage.jpg&fltr[]=wmt|40|B|FFFFFF|georgia.ttf|35&hash=b7412f04f09cd6b488435231651d61453/p>不,我需要提取以下内容:thisistheimage.jpg一些事实:图片名称前总有一个“/”;图像名称后面始终跟有一个amp(&);图片扩展名也