我是正则expression式的新手,我想用preg_match函数来查找一个string是否是一个IP地址。 例如,如果$string = "45.56.78.222"或类似的东西, preg_match($regex, $string)应该返回true。 那么, $regex应该是什么?
这是我试图使用的正则expression式: /^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim 我在这个网站上find了它,当我在那里尝试的时候它效果很好。 但是,只要我把它放在我的代码中,我就会得到这样的信息: Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in C:\xampp\htdocs\swebook\includes\classes.php on line 22 任何人都可以解释什么是错的,为什么它在网站上,而不是在我的代码?
我正在尝试使用preg_match来返回页面源代码中包含的所有URL。 我正在使用的代码是 preg_match('"http://(.+?)\"', $code, $matches); 我收到以下错误: Warning: preg_match() [function.preg-match]: Unknown modifier '/' in …. on line 13
PHP中没有可用的多字节“preg”函数,那么这是否意味着默认的preg_functions是安全的? 在php文档中找不到任何提及。
如何使用preg_match在数组中进行search? 例: <?php if( preg_match( '/(my\n+string\n+)/i' , array( 'file' , 'my string => name', 'this') , $match) ) { //Excelent!! $items[] = $match[1]; } else { //Ups! not found! } ?>
我将如何去分裂这个词: oneTwoThreeFour 到一个数组,以便我可以得到: one Two Three Four 与preg_match ? 我厌倦了这一点,但它只是给出了整个词 $words = preg_match("/[a-zA-Z]*(?:[az][a-zA-Z]*[AZ]|[AZ][a-zA-Z]*[az])[a-zA-Z]*\b/", $string, $matches)`;
当我写下面,我得到这样的警告,它不匹配任何东西,但我相信, $row_search['content']包含$value … preg_match_all("/[^\s]*".preg_quote($value)."[^\s]*/iu", $row_search['content'], $final_matched); WARNING:preg_match_all() [function.preg-match-all]: Unknown modifier '/' in C:\xampp\htdocs\finance\search\search.php on line 82 为什么我得到这样的警告信息? 谢谢
正则expression式在PHP中使用preg_match查找多个相同的string的正确语法是什么? 例如,查找以下段落中是否出现以下string: $string = "/brown fox jumped [0-9]/"; $paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence" if (preg_match($string, $paragraph)) { echo "match found"; }else { echo "match NOT found"; }
由于POSIX正则expression式(ereg)从PHP 5.3.0开始不推荐,我想知道一个简单的方法来将旧的expression式转换为PCRE(Perl Compatible Regular Expressions)(preg) 。 举例来说,我有这个正则expression式: eregi('^hello world'); 如何将expression式转换为preg_match兼容expression式? 注意:这篇文章是所有与从ereg转换到preg相关的post的占位符,也是相关问题的重复选项。 请不要closures这个问题。 有关: 如何将PHP的eregi更改为preg_match 将ereg_replace更改为等同的preg_replace
我有这个代码: $string1 = "My name is 'Kate' and im fine"; $pattern = "My name is '(.*)' and im fine"; preg_match($pattern , $string1, $matches); echo $matches[1]; 当我运行它返回这个错误: 警告:preg_match()[function.preg-match]:分隔符不能是字母数字或反斜杠