草庐IT

php - preg_match 在第一个选择器中选择匹配项

我要测试这个字符串,但无法让它按我想要的方式工作:我希望我的脚本返回fatal而不是500,因为它是我的第一个选择器。可能吗?提前致谢,抱歉我的英语不好。附言:也许我的标题不是很清楚,但我不知道如何更好地解释它。如果找到它,请更改它。 最佳答案 如果你只想用一个正则表达式来做,你可以这样做:$selectors=array('fatal','500');//Arrayofselectors(inpriorityorder)$delimiter='/';$regex=$delimiter.'('.implode('|',array_m

php - 使用 preg_replace 的带括号的负值格式

我想要一个将使用preg_replace转换的正则表达式=>-1121234.56to(1,121,234.56)=>-1121to(1,121.00)=>1121to1,121.00现在我已经用过了$number=-12121234.56;$replaced=preg_replace('/(-?\d+)(\d\d\d)/','$1,$2',$number);O/P-12,121,234.56我也想要上述功能。 最佳答案 你可以只使用number_format():functionmyformat($nr){$nr=number_f

php - 用于替换未包含在标签之间的单词的正则表达式(非 html)

有限的正则表达式经验,我在PHP中使用preg_replace。我想替换不在[no-glossary]...[/no-glossary]标签之间的指定“单词”。如果它们不是“单词”和标签之间的空格,或者如果它们是“单词”之后的空格,我的表达式就有效,但是如果我在单词之前放置一个空格(预期),它就会失败!这些工作:$html='Donotreplace[no-glossary]this[/no-glossary]replacethis.';$html='Donotreplace[no-glossary]this[/no-glossary]replacethis.';这不是:$html='

php - preg 匹配重复或增量字符

我正在使用预匹配来验证密码:(preg_match("/^.*(?=.{5,}).*$/",$password)它也接受特殊字符。但出于某种原因,我需要修改它应该接受仅字母数字至少5个字符长非常重要的是它不能有任何重复或增量字符,如:aaaa或12345或abc123等. 最佳答案 if(preg_match('%^#Startofstring(?!.*(.)\1)#Assertnorepeatedcharacters#Assertnosequentialdigits/characters(?!.*(?:01|12|23|34|45

php - 正则表达式 : match a word of certain length which starts with certain letters

我需要一个匹配7字母单词的正则表达式,该单词以'st'开头。例如,它应该只匹配以下内容中的'startin':startstartinstarting 最佳答案 一般提示:起始符号直接包含在正则表达式中,例如ST。如果起始字符在正则表达式语法的意义上是特殊的(如点、括号等),则需要使用反斜杠对它们进行转义,但在您的情况下不需要。在起始符号之后,为“单词”的剩余字符添加字符类。如果要允许所有字符,请使用点:.。如果要允许所有非空白字符,请使用\S。如果您只想允许(unicode)字母,请使用\p{L}。要仅允许非重音拉丁字母,请使用[

c# - 用于搜索单词并返回下一个的正则表达式或函数

我正在寻找一个函数/正则表达式来找到给定的单词并重新运行下一个单词,例如:给出输入"is"并在这个字符串中搜索"theforceisstrongwithyoubutyouarenotajediyet"将返回"strong"搜索“you”将返回一个包含{"but","are"}的数组。我正在寻找最好使用PHP或C#的代码示例。 最佳答案 你可以试试(?:\bis\b)\s*(\b\w*\b)例子PHPCodeExample:".print_r($matches,true);?>$matchesArray:([0]=>Array([0]

php - 如何将此 PHP 正则表达式转换为 Javascript?

我试过转换这个:$regex="/^[0-9]+[0-9\.]*(?所有这些,但没有一个是正确的:varregex=/^(?!\.$)[0-9]+[0-9\.]*/;varregex=/^(?!.*\.$)[0-9]+[0-9\.]*/;varregex=/^[0-9]+[0-9\.]*(?!\.$)/;PHP正则表达式正确拒绝1.1a和1.,但javascript正则表达式不会。 最佳答案 您的PHPRegex可能会更好地编写如下,它匹配相同的语言,但更易于阅读并且不需要使用负向后视:$regex="/^\d+(\.\d+)*$/

php - 使用 PHP 中的 Java 脚本使用 AM/PM 验证 12 小时时间

这个问题在这里已经有了答案:PHP:TimevalidationRegEx?(5个答案)关闭9年前。我正在尝试验证时间00:00to11:59endswithAMORPM我正在尝试一些正则表达式,但没有成功验证时间。我的java脚本函数是functionverifydata(incoming){varre=(1[012]|[1-9]):[0-5][0-9](\\s)?(?i)(am|pm);if(incoming.time.value!=''&&!incoming.time.value.match(re)){alert("Invalidtimeformat:"+incoming.tim

php - preg_match_all能匹配获取的最大字符串长度?

我正在尝试使用preg_match_all()解析一些网页,其中一些网页非常大,有几MB。并且其中一个正则表达式匹配了一些文本字符串,这些字符串非常大,以至于它们似乎无法匹配并获取它们。它只是返回一个空字符串。当我手动选择它并将其保存为.txt文件时,其中一个字符串是1.32MB或1,393,557字节。当字符串短得多,只有几万字节时,正则表达式成功匹配并获取它。所以我的问题是,我发现preg_match_all()可以匹配的字符串有一个限制/最大长度,它是什么以及如何将它设置得更大? 最佳答案 将ini_set('pcre.bac

php - 编译失败 : unknown property name after\P or\p

您好,我想匹配一个字符串:“\parhello\parworld”针对我的正则表达式模式->\\par但是,我得到一个Compilationfailed:unknownpropertynameafter\Por\p我相信我的正则表达式规则被视为unicode字符属性。我如何转义它并按原样运行模式?我像这样将它包含在PDO函数中。functionsqlite_regExp($sql,$db){if($db->sqliteCreateFunction("regexp","preg_match",2)===FALSE)exit("Failedcreatingfunction!");if($r