所以前几天我刚刚了解了PHP中的preg_match,现在我正在尝试preg_match车牌。它应该检查这个:9a-4e-yy,所以-和数字或字母前后,然后是-和更多数字或字母。但它必须恰好是彼此相邻的2个数字或字母,不能更多。现在我有这段代码:returnpreg_match("/^([0-9])"."([0-9])"."(\-([0-9])"."([0-9]))"."(\-([0-9])"."([0-9]))$/",$kenteken);但这只会检查数字。我希望你们能帮助我让它也能处理字母。提前致谢! 最佳答案 [0-9]只匹配
老实说,我真的不懂RegEx。所以我完全不知道我哪里出错了。我正在寻找一个仅接受字母数字字符的正则表达式(和下划线,用于用户名)。我在这里四处搜索,发现了很多我尝试过的RegEx示例,但没有一个有效。除其他外,我主要从这里的答案中获得,我已经尝试过^[a-zA-Z0-9_]*$/[^a-z_\-0-9]/i/^\w+$/为了匹配这些,我尝试了(使用每个正则表达式)if(preg_match("/^\w+$/",$username)){//don'taccept}和if(!preg_match("/^\w+$/",$username)){//don'taccept}和if(preg_ma
我使用netbeans,我尝试用\\替换\但它失败了,它无法转义\\字符。这不是Netbeans问题,而是PHP问题。preg_replace('\','\\','textto\beparsed');有什么解决办法吗? 最佳答案 使用4个反斜杠,请不要忘记分隔符:echoechopreg_replace('~\\\\~','\\\\\\\\','要解析的文本');Onlinedemo说明:PHP在解析\\\\时会转义两次\\,即变成\\,现在当PHP将其传递给正则表达式引擎时,它将接收到\\,这意味着\。
我正在检查信用卡字段以确保它们每个都包含四位数字。functioncreditcard($creditCard1,$creditCard2,$creditCard3,$creditCard4){$regexp="/^[0-9]{4}$/";if(preg_match($regexp,$creditCard1,$creditCard2,$creditCard3,$creditCard4))//line18{returnTRUE;}else{echo'alert("Enteravalidcreditcardnumber.")';returnFALSE;}}$creditCard1=$_PO
我正在使用preg_replace为基于modrewrite的分页链接创建url。我使用:$nextURL=preg_replace('%/([\d]+)/%','/'.($pageNumber+1).'/',$currentURL);效果很好,但是我想知道是否有更好的方法而无需在替换参数中包含'/'。我需要匹配两个/之间的数字,因为URL有时可以包含页面部分以外的数字。然而,这些数字绝不仅仅是数字,所以/[\d]+/阻止它们被替换。 最佳答案 你可以使用look-aroundassertions:%(?(?是一个积极的后视断言并且
我正在编写一个WordPress插件,其中一个功能是删除重复的空格。我的代码是这样的:returnpreg_replace('/\s\s+/u','',$text,-1,$count);我不明白为什么我需要u修饰符。我见过其他插件使用preg_replace但不使用需要为Unicode修改它。我相信我有默认安装的WordPress。没有修饰符,代码用Unicode替换所有空格替换字形而不是空格。使用u修饰符,我不明白字形,它不会替换所有空格。下面每个空格有1-10个空格。正则表达式仅从每个组中删除空格。之前:Thissentencehasextraspace.Thisdoesn’t.E
尝试匹配以下内容:rawurl="http://www.domain.com/page/etc/"URL本身是可变的,可以包含各种内容!?查询字符串等等。是否有转义函数使其正则表达式安全?到目前为止我已经有了这个$varisalreadydefined..$url="www.adomain.com/with/extras/"$url=str_replace("\/","/",$url);//maybemoreneededhere.$pattern="/rawurl\=\"http\:\/\/$url/";preg_match($pattern,$var,$out);在正确格式化正则表达
有什么方法可以限制使用preg_match_all返回的匹配项数量吗??例如,我只想匹配前20个网页上的标签,但有100个标签。干杯 最佳答案 $matches=array();preg_match_all($pattern,$subject,$matches);$twenty=array_slice($matches,0,20); 关于php-使用preg_match_allPHP限制结果数量,我们在StackOverflow上找到一个类似的问题: http
这个问题在这里已经有了答案:HowdoImatchanycharacteracrossmultiplelinesinaregularexpression?(26个答案)关闭2年前。我正在尝试匹配HTML中的字符串例如我想在string中找到字符串我在做的是preg_match_all('|\(.*)\|',$html,$data);echo$data[1][0];当我想在中搜索的字符串时它起作用不是换行符但是如果它有换行符,我该怎么做呢?不工作示例:linebreakstring
我正在尝试使用preg_match()在PHP中验证用户名,但我似乎无法让它按照我想要的方式工作。我需要preg_match()来:只接受字符串开头和结尾的字母或数字接受句点、破折号、下划线、字母、数字长度必须在5-20个字符之间preg_match('/^[a-zA-Z0-9]+[.-_]*[a-zA-Z0-9]{5,20}$/',$username) 最佳答案 将需求分解成更小的部分,您会发现它变得容易得多:第一个字符必须是1个字母或数字中间字符必须是句点、破折号、下划线、字母或数字最后一个字符必须是字母或数字由于第一段和最后一