草庐IT

regex_match

全部标签

php - preg_match 与数字 PHP

当我使用它时:preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/',0.0001);返回值为1,当我使用它时:preg_match('/^[0-9]{1,10}(\.[0-9]{1,9})?$/',0.00001);返回值为0。有人可以告诉我为什么吗?谢谢! 最佳答案 因为小float通常使用指数表示法显示,所以0.00001被转换为1.0E-5,这与正则表达式不匹配。如果你只是这样做,你可以看到这个:echo0.00001;正则表达式应该与字符串一起使用,而不是数字。preg_match('/^[

PHP Regex 查找字符串中所有大写的单词

PHPRegex查找字符串中所有大写的单词:$string="testsampletest:2015.ŽYDRŪNASPAVARDENIS";preg_match_all('/\b([A-Z-][\p{L}\pL]+)\b/',$string,$matches);var_dump($matches);输出:array(2){[0]=>array(2){[0]=>string(8)"YDRŪNAS"[1]=>string(10)"PAVARDENIS"}[1]=>array(2){[0]=>string(8)"YDRŪNAS"[1]=>string(10)"PAVARDENIS"}}问题

php - preg_match_all 用逗号分隔,值可能包含空格

我目前有一个preg_match_all用于不包含空格的常规字符串,但我现在需要让它适用于每个空格之间的任何内容。我需要abc,hh,heythere,123,hey_there_返回abchh嘿``123hey_there_但是当涉及到空格时,我当前的脚本就会停止。preg_match_all("/([a-zA-Z0-9_-]+)+[,]/",$threadpolloptions,$polloptions);foreach(array_unique($polloptions[1])as$option){$test.=$option.'>';} 最佳答案

php - 如何在 php 中使用 preg_match?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion我想创建一个表单验证,我想确保用户不会在文本框中输入任何危险代码,所以我想使用preg_match来做到这一点。我不喜欢用户输入的是(不是a-z中的单词,A-Z中的单词和数字)。现在如何在这里使用preg_match?

PHP REGEX 删除括号和括号内的文字

需要删除其中的括号和文字。现在,它几乎可以正常工作。删除从括号开始的所有文本。我的代码:$lines=preg_replace("/\(([^\d]+)/",'',$lines);例如,文本:Somerandomwords(word1/word2/word3)aaaa代码也删除括号后的所有文本,Somerandomwords但我需要做的是(它应该是什么样子):Somerandomwordsaaaa 最佳答案 /\([^()]*\)/\(-左括号[^()]*-尽可能多的字符,不是括号\)-右括号您可以选择删除末尾的一个空格(/\([^

php - RegEx (.*?) 除了一个字符之外的任何东西

我正在尝试将某些内容与/^(.*?)\/$行之间的模式相匹配。但是,由于(.*?)已经匹配/它也匹配anything//////////但我只希望它匹配anything/。是否有从(.*?)或其他解决方案中排除/的好方法? 最佳答案 使用negatedcharacterclass[^\/]:/^([^\/]*)\/$/参见regexdemo在PHP中,您可以使用其他一些分隔符来避免模式中的过度转义,比如~:$rx='~^([^/]*)/$~';详细信息:^-字符串的开始([^\/]*)-第1组捕获除/以外的0+个字符\/-文字/$-

php - preg_match 从字符串返回多个值

我想从一些URL中提取两个值。示例网址:cricket-ck-game-playhand-ball-hb-game-playvolley-ball-vb-game-playsoccer-sc-game-play我想分别提取完整游戏名称及其短名称,忽略URL末尾的-game-play部分。我尝试了以下代码,它返回“ck”、“hb”、“vb”、“sc”,但不返回全名。preg_match("/(?我得到的实际结果:array(1){[0]=>string(2)"ck"}预期结果:case:1(Incaseofexample1)-array(2){[0]=>string(7)"cricket

php - filter_var 与 preg_match

早上好我正在转换我正在处理的网站以与最新版本的PHP兼容,因此我正在检查并用未折旧的等效项替换所有ereg实例。然而,有人告诉我有一个名为filter_var的方便的PHP内置函数。我的问题是,使用filter_var而不是preg_match是否有意义?至于选择一个而不是另一个是否有性能提升或任何其他好处,如果有的话,它们是什么? 最佳答案 首先,关于过滤的PHP手册页:https://php.net/manual/en/book.filter.php其次,上下文是关键。一般来说,过滤器函数被设计为使用外部输入(标量或数组),或内

regex - 用 php preg_replace 只替换一次字符串

我需要一个replacestringonce函数,我相信preg_match可能是我最好的选择。我正在使用这个,但由于使用的动态性,有时这个函数表现得很奇怪:functionstr_replace_once($remove,$replace,$string){$pos=strpos($string,$remove);if($pos===false){//Nothingfoundreturn$string;}returnsubstr_replace($string,$replace,$pos,strlen($remove));}现在我正在采用这种方法,但遇到了下面列出的错误...。我正在

php - 如何防止使用 Regex 删除斜杠?

我不知道如何更改下面的正则表达式以保留斜杠。我想确保它只包含字母、数字、下划线、破折号和斜线。($query类似于/offer/some-offer-bla-bla-bla)$query=preg_replace('/[^-a-zA-Z0-9_]/','',$query);谢谢 最佳答案 只需在字符类中包含/即可。但是由于您使用/作为正则表达式分隔符,您需要将其转义以及\/:$query=preg_replace('/[^-a-zA-Z0-9_\/]/','',$query);^^你可以通过使用\w代替[a-zA-Z0-9_]来缩短