我正在尝试使用preg_match()使用PHP验证DD/MM/YYYY等日期.这是我的REGEX表达式的样子:
$pattern = "/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";
Run Code Online (Sandbox Code Playgroud)
但是使用正确的值,我得到这样的信息:
preg_match():未知的修饰符'('
完整代码:
$pattern = "/^([123]0|[012][1-9]|31)/(0[1-9]|1[012])/(19[0-9]{2}|2[0-9]{3})$/";
$date = "01/03/2011";
if(preg_match($pattern, $date)) return TRUE;
Run Code Online (Sandbox Code Playgroud)
先感谢您
我有这个正则表达式:
([http://some.url.com/index.php?showtopic=\"]*)([0-9]+(?:\.[0-9]*)?)
Run Code Online (Sandbox Code Playgroud)
它用于从论坛中提取主题的链接
现在当我在我的脚本中使用它时
$url = "([http://some.url.com/index.php?showtopic=\"]*)([0-9]+(?:\.[0-9]*)?)";
Run Code Online (Sandbox Code Playgroud)
preg_match_all吐:"未知的修饰符'('"
这也是对preg_match的调用
preg_match_all($url, $str, $matches,PREG_OFFSET_CAPTURE,3);
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个明显愚蠢的问题
preg_replace('/http:///ftp:///', 'https://', $value);
Run Code Online (Sandbox Code Playgroud)
http://和ftp://内$value应改为https://
此代码提供错误:
preg_replace() [function.preg-replace]: Unknown modifier '/'
Run Code Online (Sandbox Code Playgroud)
这项任务的真正正则表达式是什么?
\\ $DigitalSignature have full name value passed
$SignatureMatch = '/' . strtolower( $NameFirst . ' ' . $NameLast ) . '$/';
if( true == preg_match( $SignatureMatch, strtolower( $DigitalSignature ) ) )
{
$boolIsValid = true;
}
Run Code Online (Sandbox Code Playgroud)
我有此代码用于与数字签名完全匹配的名字和姓氏匹配。但这给我在生产(实时)的错误日志中报告了错误。
preg_match(): Unknown modifier 'b'
Run Code Online (Sandbox Code Playgroud)
我无法重现此错误。我怎样才能首先得到这个错误。以及如何解决此错误以进行精确匹配。
我在 SO 上看到了很多问题,但没有得到什么时候会出现这个错误。我该如何解决。我看到的许多问题中的一些问题是-
我有以下正则表达式:
(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'\".,<>?«»“”‘’]))
Run Code Online (Sandbox Code Playgroud)
但它给了我以下错误:
Unknown modifier '\'
Run Code Online (Sandbox Code Playgroud)
我尝试像这样转义反斜杠:
(?i)\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?«»“”‘’]))
Run Code Online (Sandbox Code Playgroud)
没有任何运气......我也尝试用波浪号替换反斜杠,再次没有运气。我已经在互联网和 SO 上搜索了有关“\”作为未知修饰符的任何详细信息,但再次没有运气。这里出了什么问题?
应要求提供的代码示例:
$regex = '(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'\".,<>?«»“”‘’]))';
return !preg_match($regex, $url);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我收到这个错误......
警告:preg_match()[function.preg-match]:第147行的C:\ path-to-plugin.php中的未知修饰符'1'
当我运行关键字"Test $ 2/1 test + word!"时 通过下面的功能
function my_get_kw_in_content($theKeyword, $theContent)
{
//ERROR OCCURS NEXT LINE
return preg_match('/\b' . $theKeyword . '\b/i', $theContent);
}
Run Code Online (Sandbox Code Playgroud)
我假设我需要清理关键字以逃避"/"字符(可能更多).我很感激你在通过preg_match运行它之前要清理字符串的任何建议.
更新:这似乎是由于泰国工作:
function my_get_kw_in_content($theKeyword, $theContent)
{
$theKeyword = preg_quote($theKeyword, '/');
return preg_match('/\b' . $theKeyword . '\b/i', $theContent);
}
Run Code Online (Sandbox Code Playgroud) 对另一个preg_replace问题道歉!
我收到错误:
Warning: preg_replace() [function.preg-replace]: Unknown modifier ']' in C:\xampp\htdocs\reg.php on line 6
Run Code Online (Sandbox Code Playgroud)
运行以下preg_replace时:
$newContent = preg_replace('<img [^>]*.gif[^>]*?>','MATCHED',$newContent);
Run Code Online (Sandbox Code Playgroud)
我通过几个在线正则表达式构建器运行正则表达式,看起来很合理.我在这里缺少什么想法?我使用]不正确吗?
我得到以下字符串:
last_name, first_name
bjorge, philip
kardashian, [kghim]
mer#$##Code:menu:51587daa7030e##$#cury some more
data #$##Code:menu:515r4387daa7dsf030e##$#, freddie
Run Code Online (Sandbox Code Playgroud)
我试图用函数替换中间的代码:'codeParser'正则表达式是:
$PC_File = preg_replace_callback("(?=\#\$\#\#).*?(?<=\#\#\$\#)", 'codeParser', $PC_File);
Run Code Online (Sandbox Code Playgroud)
但得到这个错误:
PHP Warning: preg_replace_callback() : Unknown modifier '.'
Run Code Online (Sandbox Code Playgroud) 这有什么问题吗?
\n\npublic static function validaDataHoraBR($data_hora){\n $pattern = "/^([1-9]|0[1-9]|[1,2][0-9]|3[0,1])/([1-9]|1[0,1,2])/\\d{4} ([0-1][0-9]|[2][0-3])(:([0-5][0-9])){1,2}(:([0-5][0-9])){1,2}$/";\n return (preg_match($pattern, $data_hora)) ? array(true) : array(false,\' n\xc3\xa3o \xc3\xa9 uma data e hora no formato BR!<br>\'); \n}\nRun Code Online (Sandbox Code Playgroud)\n\n此模式验证了这一点 - 20/08/2011 21:00:00
\n\n错误:消息:preg_match() [function.preg-match]:未知修饰符 \'(\'
\n我是正规表达的新手,我需要一些帮助:).
我有这个:
$url = '<img src="http://mi.url.com/iconos/oks/milan.gif" alt="Milan">';
$pattern = '/<img src="http:\/\/mi.url.com/iconos/oks/(.*)" alt="(.*)"\>/i';
preg_match_all($pattern, $url, $matches);
print_r($matches);
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
警告:preg_match_all()[function.preg-match-all]:未知修饰符'c'
我想选择'milan.gif'.
我怎样才能做到这一点?