我想验证我的输入是否以8个十六进制字符开头,后跟一个下划线,然后是任意数量的任意值的字符。我目前使用以下正则表达式:preg_match('/^[0-9A-Fa-f]{8}_*/',$value);但是这个表达式不能满足我的需求,因为它的行为如下结果:1A345678(true)1A345678_add(true)1234567890(true)ABSDBASDB(false)预期结果:1A345678(false)1A345678_add(true)1234567890(false)ABSDBASDB(false)我的正则表达式有什么问题? 最佳答案
我想在php或javascript中使用正则表达式过滤年份。仅包含数字,长度为0(如果未输入)或4(如果(插入))ex123不接受1、2或3长度。我知道0到4位的正则表达式是^[0-9]{0,4}$或^\d{0,4}$ 最佳答案 尝试以下操作:^([0-9]{4})?$^-行首([0-9]{4})?-四个数字,可选(因为?)$-行尾 关于php-使用正则表达式过滤固定长度为0或4位的年份,我们在StackOverflow上找到一个类似的问题: https://
您好,我实际上正在尝试从这样的字符串中替换所有非字母数字字符:mb_ereg_replace('/[^a-z0-9\s]+/i','-',$string);第一个问题是它不会从字符串中替换像"."这样的字符。其次,我想为该方法添加对所有用户语言的多字节支持。我该怎么做?任何帮助appriciated,非常感谢。 最佳答案 尝试以下操作:preg_replace('/[^\p{L}0-9\s]+/u','-',$string);当u标志用于正则表达式时,\p{L}(和\p{Letter})匹配任何任何Unicode字母类别中的字符。
我正在尝试使用preg_match()从亚马逊URL中提取10个字符的ASIN编号。URL可以采用以下任何一种基本格式:http://www.amazon.com/gp/product/ASINhttp://www.amazon.com/gp/product/[text]/ASINhttp://www.amazon.com/o/ASINhttp://www.amazon.com/dp/ASINhttp://www.amazon.com/[text]/dp/ASINhttp://www.amazon.com/[text]/dp/[text]/ASIN注意:我遇到的问题源于这样一个事实,即
我想使用preg_match或正则表达式从YouTube嵌入代码中获取YouTube视频ID。举个例子我想取ID0gugBiEkLwU谁能告诉我怎么做。非常适合您的帮助。 最佳答案 将此模式与捕获组一起使用应该会为您提供所需的字符串:d\/(\w+)\?rel=\d+"示例:https://regex101.com/r/kH5kA7/1 关于php-从嵌入的iframe代码中获取YouTube视频ID,我们在StackOverflow上找到一个类似的问题: h
我有一长串IP地址和端口。我正在尝试从类似于此的列表中预匹配端口号:/connect=;;41.26.162.36;;192.168.0.100;;8081;;/connect=;;98.250.16.76;;192.168.0.24;;8080;;/connect=;;216.152.60.12;;192.168.1.103;;8090;;/connect=;;91.11.65.110;;192.168.1.3;;8081;;我在preg匹配全局IP地址时没有遇到任何问题:preg_match_all('/connect=;;(.+?);;/',$long,$ip);$ip=$ip[
我有一个以前的程序员编写的代码,一个抛出编译错误的正则表达式preg_match:$regex_t="/".$op."(?\\>[^".$op.$cl."]+)*".$cl."/s";preg_match($regex_t,$text,$inner);我收到的警告是:Warning:preg_match():Compilationfailed:unrecognizedcharacterafter(?or(?-atoffset4另外,我想提一下var_dump($regex_t)的值是:string'/\{(?\>[^\{\}]+)*\}/s'(length=21)
我正在尝试向用户显示一个网站,该网站是使用php下载的。这是我正在使用的脚本:到目前为止,除了str_replace函数的一些主要问题外,该脚本还算不错。问题来自相对网址。如果我们在我们制作的名为john.php的页面上使用一只猫的图像(像这样:)。它是一个png,正如我所见,它可以使用6个不同的url放置在页面上:1.src="//www.stackoverflow.com/cat.png"2.src="http://www.stackoverflow.com/cat.png"3.src="https://www.stackoverflow.com/cat.png"4.src="so
我有一个字符串$string='Someof"thisstringis"inquotes';我想得到字符串中所有单词的数组,我可以通过这样做得到$words=explode('',$string);但是我不想拆分引号中的单词,所以理想情况下结束数组将是array('Some','of','"thisstringis"','in','quotes');有人知道我该怎么做吗? 最佳答案 您可以使用:$string='Someof"thisstringis"inquotes';$arr=preg_split('/("[^"]*")|\h+
我需要将下面的字符串拆分成如下格式的数组键:string=“(731)这里有一些数字为2的文本(220)这里有一些数字为54的其他文本”转换为:array('731'=>'sometextherewithnumber2','220'=>'some54numberothertexthere');我试过:preg_split('/\([0-9]{3}\)/',$string);得到:array(0=>'sometexthere',1=>'someothertexthere'); 最佳答案 代码$string="(731)sometext