我想在评论中找到所有视频持续时间链接并将它们转换为anchor标签。持续时间可能如下所示:01:20:55(h:m:s)20:30(m:s)1:21(m:s)1:35:12(h:m:s)我觉得我可能很接近,但对正则表达式还是很陌生http://regexr.com/3bfmu^([\d]{1,2}\:)?([\d]{1,2})?\:([\d]{1,2})$在此上下文中使用:$parsedTimeCommentString=preg_replace("/^([\d]{1,2}\:)?([\d]{1,2})?\:([\d]{1,2})$/","$1:$2:$3",$comment['com
我有一个字符串,其中我只想要'###-'之后的内容。例子:1234-Thisisastringwith100characters我想从中得到这个:这是一个包含100个字符的字符串几个小时以来,我一直在尝试获取它,但我无法让它工作。我认为这段代码选择了数字和-符号:#^\d+-#但我想要字符串的完全相反部分。感谢帮助 最佳答案 你可以使用这个正则表达式:~^\d+-(.+)$~然后捕获捕获的第1组或者使用匹配重置\K:~^\d+-\K.+$~RegExDemoPS:您还可以像这样在preg_replace中使用您尝试的正则表达式:$i
我编写了PHP代码来使用正则表达式检查字符串。每个字符串都应以空格开头,总长度应恰好为10。$str='123456789';if(preg_match('/^([0-9]){10}+$/',$str)){echo'true';}echo'false';当我更改$str变量时,我期望得到以下结果。但是使用上面的正则表达式,我只得到了第一个。$str='1234567890';//true$str='1234567890';//false 最佳答案 如果您真的是指空白,那么请使用\s作为您的空白,因为它也会抓取制表符。另外,看起来你只
找到以下很好的正则表达式来匹配所有可打印的ASCII字符:[-~]我的代码是这样的:$string="MyASCIIstringis(not)veryfunny.";filter_var($string,FILTER_VALIDATE_REGEXP,array("options"=>array("regexp"=>"/^[-~]*$/")));这几乎就是我所需要的,但是我想排除冒号。我试过[-~\:]和[-~^:]都不起作用。什么是正确的正则表达式以及如何正确排除单个字符? 最佳答案 看起来您正在寻找这样的正则表达式:(?=[-~]
我有以下示例字符串Lot99.Isit1+3or5or6.53我想要下面的结果["Lot99",".","Is","it","1","+","3","or","5","or","6.53"]因此,结果消除空格,分隔单词,但如果单词和数字之间没有空格,则将它们放在一起,如果不在单词的开头或结尾,则将数字分隔开。分隔符号,如+-.,!@#$%^&*();\/|但如果2个数字之间的小数点不存在,例如2.2应保持为2.2到目前为止我有这个正则表达式/s+[a-zA-Z]+|\b(?=\W)/我知道的不多,但我访问了很多网站来学习RegEx,但我仍在努力了解这门语言。如果您的回答可以,请包括评论
如果给定字符串在我的类(class)之外,我想使用正则表达式从给定字符串中删除anchor标记。输入:HiHelloWorld.Thisistestingcontent.somemorecontent.OnemoreLink.输出:HiHello.Thisistestingcontent.somemorecontent.Onemore.提前致谢。 最佳答案 你可以(顺便说一句,应该)使用DOM方式(仅使用正则表达式将很难,如果不是不可能的话)。这里的方法是寻找没有祖先的超链接div.myclass并从DOM中删除这些:HiHello
我需要一个匹配特定捕获组的正则表达式,该捕获组位于多行注释/*...*/中。特别是我需要在多行注释中找到PHP变量定义例如:/*othercode$var=value1*/$var=value2;/*othercode$var=value3;othercode*/必须只匹配注释中出现的两次“$var=”,而不匹配注释外的一次。对于上面的例子,我写了一个正则表达式,它使用不受限制的后视,就像这样(?但是这个正则表达式会失败,以防它在注释开始标记“/*”和$var之间同时找到字符*和/,即使它们彼此是APART,这不是所需的行为:例如在这种情况下它失败了:$var=....;/*other
可以在正则表达式(php)中包含诸如“>”或“ifnot”之类的东西¿?例如:我有一个5位数字的字符串'XXXXX':'00054'、'47690'、'20593'...我需要一个正则表达式来验证:5个数字大于1我有这个:'/^[0-9]{5}$/'但不验证大于'00001'!我正在寻找诸如“>”或“如果不是00000”之类的内容...谢谢PS:我知道这可以用:if((int)$string>1) 最佳答案 当我遇到正则表达式时-我总是问自己的第一个问题是“我描述的是一种常规语言吗?”-回答这个问题最简单的方法是尝试绘制一个有限状态
所以我从数据库中获取链接,这些链接看起来像这样:www.website.com/games/randomcode1/RANDOM-URL-TITLE-NEEDED.htmlwww.website.com/blabla/randomcode2/RANDOM-URL-TITLE-NEEDED2.htmwww.website.com/whatever/randomcode2/RANDOM-URL-TITLE-NEEDED3.html在我的foreach循环中,Urls表示为$row['links'];我想做的是只采用RANDOM-URL-TITLE-NEED。这意味着我需要url中从最后一个
我想从一个字符串中捕获三个子字符串,其中必须包含这三个子字符串模式:生日(所有数字均采用yyyymmdd格式)身份证号码(以字符开头,后跟数字)全名如果三个子串模式都不可用,则返回不匹配。图案样本:XD079523ALFREDROMEO19830311ALFREDBETAGAMMA19830311AD929523BETAFERNANDEZAS0795231983031119830311BETAMAXAS079523KK07952319830311ANGELMARINAVINES19830121BX079523VINCENTEVERHART我已经尝试过以下正则表达式:/(?=.*\b([