我已经做到了这一点:^[a-zA-Z0-9]+(?:--?[a-zA-Z0-9]+)*$但是上面的表达式并没有像我需要的那样限制长度。我需要的模式总共只能匹配5-6个字符。所以,这就是它应该如何解决的问题:safety(valid)safet-(invalid)s-a-fe(valid)-safet(invalid)s7-45(valid)s--fs(invalid)连续连字符无效。前导和尾随连字符无效。总长度(包括任何连字符)应为5-6个字符。我尝试用范围({5,6})替换我的+,但没有成功。感谢您的帮助。我尝试的另一条路线是:^[A-Z0-9][A-Z0-9-]{3,4}[A-Z0
我习惯了正则表达式中的/..../分隔符,也习惯了用符号^来表示一段的开始字符串,或用于一类字符时的否定。所以当我使用^....^遇到下面这行时,我很困惑:$t="172,249,L,P";preg_split("^,^",$t);这意味着什么? 最佳答案 为了不让它们在您的特定正则表达式字符串中被转义,您可以使用多种不同的分隔符:http://php.net/manual/en/regexp.reference.delimiters.php 关于php-PHP正则表达式函数中的分隔符(
我需要一个正则表达式,它应该至少有一个数字字符,允许大写和小写字母,也允许特殊字符我正在使用这个表达式/^.*(?=.{6,10})(?=.*\d)(?=.*[a-zA-Z]).*$但它对最大字符数10无效。 最佳答案 看来你想要这样的东西,^(?=.*\d)(?=.*?[a-zA-Z])(?=.*?[\W_]).{6,10}$上面的正则表达式只允许6到10个字符。它还检查至少一位数字、大写或小写字母和至少一个特殊字符(字母和数字以外的字符)。 关于php-密码的正则表达式必须包含至少8
为什么3个反斜杠的字符串和PHP中4个反斜杠的字符串是一样的?我们可以在正则表达式中使用3个反斜杠版本吗?PHPreference说我们必须使用4个反斜杠。注意:单引号和双引号PHP字符串具有反斜杠的特殊含义。因此,如果\必须与正则表达式\\匹配,则"\\\\"或'\\\\'必须在PHP代码中使用。 最佳答案 $b='/\\\\/';php逐字符解析字符串文字(或多或少)。第一个输入符号是正斜杠。结果是(解析步骤的)结果中的正斜杠,并且输入符号(一个字符,/)从输入中移除。下一个输入符号是反斜杠。它取自输入并检查下一个字符/符号。这
我需要一个正则表达式来去除字符串中的外部/顶级HTML标记,但保留内部标记。$str="Starttestend.";进入$str="Starttestend.";还有$str="Starttestend.";进入$str="Starttestend.";.preg_replace('/]*>/','',$str);删除所有标签,而不仅仅是外部标签。 最佳答案 请注意使用正则表达式并不是修改HTML代码的最佳方式!在大多数情况下,使用DOMDocument或DOMDocumentFragement对象从HTML代码修改或提取数据会更
如何提取div中的完整html内容?我试过这段代码,$html='HelloHowareyou';$attr="id";$value="test";$tag_regex='/]*'.$attr.'="'.$value.'">(.*?)/si';preg_match($tag_regex,$html,$matches);echo$matches[0];通过运行这段代码,我得到了结果,Hello预期结果,HelloHowareyou在我的代码中,正则表达式一直执行到第一次出现.我怎样才能得到里面的完整代码? 最佳答案 使用DOMDocu
这段代码str_replace('A','Amp',$var)可以将2.7A转换为2.7Amp。但是,它不应将A2转换为Amp2。使用正则表达式模式的preg_replace可以解决这个问题吗? 最佳答案 使用正后向正则表达式来匹配紧跟在数字之后的所有A。(?然后将匹配的A替换为Amp。DEMOechopreg_replace('~(? 关于php-preg_replace正则表达式模式,我们在StackOverflow上找到一个类似的问题: https://
我想匹配所有的模式,比如[[WHATEVER]]这两个括号内的文本可以是大写或小写,可以以空格开头或以空格结尾,可以由两个或多个由空格分隔的单词组成$string="The[[QUICK]]brown[[FOX]]jumpedover[[whatever]]";parse$string;//Iwouldlikeanresulttobelikearrayarray(0=>"[[QUICK]]",1=>"[[FOX]]",2=>"[[whatever]]") 最佳答案 你可以像这样匹配它们:$re="/\\[{2}.*?\\]{2}/"
在我的文本中我有这样的输出:Åapat我想搜索“Å”,注意Å+空格。并将其转换为“Š”。所以基本上我想找到这个后面有空格的字母,然后用一个没有空格的字母替换它。字符串替换不能做到这一点,我对正则表达式不是很好,我试过这个但它不起作用:$return=preg_replace('/[Å\s]/','Š',$return);有人可以帮帮我吗?注意这个词“Åapat”不必在句子的开头,大多数时候它在中间的某个地方。 最佳答案 $re="/Å\\s/m";$str="Åapat";$subst="Š";$result=preg_replac
您好,我试图在将字符串转换为PHP中的正则表达式之前连接该字符串,但问题是它没有按预期显示。我一直在使用谷歌搜索并找到了关于preg_quote的信息,问题是它不能正常工作。这是我的例子:$mystring="banana";//putthistoavariableassumethisvalueisdynamic$regex_str="/^"$mystring"\-[a-z0-9]\-[a-z0-9]$/";//Imexpectingexpecting/^banana\-[a-z0-9]\-[a-z0-9]$/$regex=preg_quote($regex_str);但我得到的是:/