草庐IT

ignore_match

全部标签

php - Preg_match 从文本中排除单词

我有字符串:FirstWordword2word3wrongWordword4lastWord想要选择以FirstWord开头,以lastWord结尾且不包含wrongWord的字符串。对于第一个也是最后一个,我有:/firstword(.*?)lastword/i但排除wrongword无效。尝试过:/firstword(^wrongWord*?)lastword/i/firstword^((?!wrongWord).)*lastword/i还有更多类似的东西,但没有任何效果。 最佳答案 简单的以下内容有什么问题?/^firstw

php - 约会的 Preg_match

我正在尝试使用preg_match在PHP中匹配一个日期,拆分它并将它的一部分分配给一个数组,日期看起来像“20100930”,这是我正在使用的代码://Makethetor_fromdatelooknicer$nice_from=$_POST['tor_from'];$matches=array();$ideal_from='';preg_match('/\d{4}\\d{2}\\d{2}\/',$nice_from,$matches,PREG_OFFSET_CAPTURE,0);//if(isset($matches[0]))$nice_from=$matches[0];echo$

php preg_match 验证价格格式

我想验证我表单中的数字字段(价格)。我尝试以这种方式验证像10.00这样的格式,没问题。$pattern='/^\d+(:?[.]\d{2})$/';if(preg_match($pattern,$_POST['price'])=='0'){echo"ERROR";exit;}现在我想同时验证字段格式,例如10.00和10。我怎么能这样做? 最佳答案 你的新模式:$pattern='/^\d+(\.\d{2})?$/';将验证:1010.00如果您想使以零开头的数字无效,例如05.00,以下模式会有所帮助:$pattern='/^(

php - 为什么 preg_match_all 返回两个匹配项?

我正在尝试使用preg_match_all来确定一个字符串是否在双引号之间有任何单词,但是它是重复的结果,第一个结果的两边都有两组双引号,其中作为被搜索的字符串只有一套。这是我的代码:$str='Teststart."Testmatchthis".Testend.';$groups=array();preg_match_all('/"([^"]+)"/',$str,$groups);var_dump($groups);然后vardump产生:array(2){[0]=>array(1){[0]=>string(17)""Testmatchthis""}[1]=>array(1){[0]

PHP 的 preg_match() 只返回匹配值

我正在做以下事情:$text='L\'utente_{nickname}tihainvitatoagiocare';$text_vars=preg_match('#\_{(.*?)\}#',$text,$matches);返回:Array([0]=>_{nickname}[1]=>nickname)如何才能只返回以下内容?Array([0]=>nickname) 最佳答案 来自preg_match()文档:Ifmatchesisprovided,thenitisfilledwiththeresultsofsearch.$matche

PHP 反向 Preg_match

这个问题在这里已经有了答案:Regularexpressiontomatchalinethatdoesn'tcontainaword(33个答案)关闭4年前。if(preg_match("/".$filter."/i",$node)){echo$node;}这段代码过滤一个变量来决定是否显示它。$filter的一个示例条目是“office”或“164(.*)976”。想知道有没有简单的说法:如果$filter在$node中不匹配。以正则表达式的形式?所以...不是“if(!preg_match”,而是$filter=“!office”或“!164(.*)976”,但它有效吗?

php - 正则表达式 : Match 1 to 60 or all

我需要一些关于php(Symfony)中的正则表达式的帮助。我想匹配值1到60或全部字符串。对于数字,我使用了这个:^([1-5]?[0-9]|60)但它匹配0...而我不要现在怎么能匹配“全部”。你能帮帮我吗?非常感谢之前 最佳答案 您应该能够将其分为以下几种可能性:^([1-9]|[1-5][0-9]|60|all)$这给了你四种可能性:[1-9]个位数的值。[1-5][0-9]:从十到五十九的所有内容。60:六十。all:您的“全部”选项。但请记住,正则表达式并不总是所有问题的答案。有时它们对于复杂的值检查不太有用(尽管在这种

php - 将 preg_match() 与 REGEX 表达式一起使用时的未知修饰符 '('

这个问题在这里已经有了答案:Warning:preg_replace():Unknownmodifier(3个答案)关闭3年前。我正在尝试使用preg_match()通过PHP验证诸如DD/MM/YYYY之类的日期。这是我的REGEX表达式的样子:$pattern="/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";但是用正确的值使用它,我得到这个消息:preg_match():Unknownmodifier'('完整代码:$pattern="/^([123]0|[012][1-9]|31)/(0[1-

php - 如何转义 preg_match 模式中的斜杠字符?

这个问题在这里已经有了答案:IsthereaPHPfunctionthatcanescaperegexpatternsbeforetheyareapplied?(2个答案)关闭4年前。我有这样一段文字:line1/1/1/2行短语之后的文本是函数的参数,例如当我调用extractData('1/1/1/2','Themaintext')时:functionextractData($line,$text){$pattern="/line(\s+)$line/";if(preg_match($pattern,$text)){//somecode}}如何转义模式中的斜杠字符?换句话说,我应该

php - 使用 preg_match 查找所有 PHP 变量

如何使用preg_match找到所有PHP变量。我制作了以下正则表达式:$string='Hallo$var.blabla$var,$iamavar$varvarvargfgdjfjdfgjhfd$variable';$instring=array();preg_match_all('/\$(.*?)/',$string,$instring);print_r($instring);我只是不明白正则表达式是如何工作的。 最佳答案 \$(.*?)不是匹配PHP变量名的正确正则表达式。这样的aregularexpressionforaVa