相关疑难解决方法(0)

未知修饰符'('使用带有REGEX表达式的preg_match()时

我正在尝试使用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)

先感谢您

php regex

4
推荐指数
1
解决办法
5633
查看次数

PHP RegExpr错误未知修饰符'('

我有这个正则表达式:

([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)

任何人都可以帮我解决这个明显愚蠢的问题

php regex

3
推荐指数
1
解决办法
144
查看次数

PHP中的未知修饰符'/'错误

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)

这项任务的真正正则表达式是什么?

php regex preg-replace

3
推荐指数
1
解决办法
1206
查看次数

preg_match(): 未知修饰符错误何时发生?

\\    $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 上看到了很多问题,但没有得到什么时候会出现这个错误。我该如何解决。我看到的许多问题中的一些问题是-

  1. 警告:preg_match() [function.preg-match]:未知修饰符
  2. preg_match() 语句中的未知修饰符
  3. 警告:preg_match() [function.preg-match]:未知修饰符
  4. 未知修饰符“l”错误
  5. 未知修饰符 'g' PHP 正则表达式错误
  6. 未知修饰符 '/' in ...?它是什么?
  7. preg_match() 未知修饰符 '[' 帮助
  8. 警告:preg_match() [function.preg-match]:未知修饰符“v”
  9. PHP Preg_match 匹配精确的单词
  10. 在正则表达式中使用 preg_match() 表达式时出现未知修饰符“v”
  11. preg_match(); - 未知修饰符“+”
  12. preg_match 错误未知修饰符“{”
  13. 未知修饰符 '(' 将 …

php regex preg-match exact-match

3
推荐指数
1
解决办法
4479
查看次数

正则表达式:未知修饰符 '\'

我有以下正则表达式:

(?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)

谢谢!

php regex preg-match

3
推荐指数
2
解决办法
1846
查看次数

警告:preg_match()[function.preg-match]:未知的修饰符

我收到这个错误......

警告: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)

php preg-match

2
推荐指数
1
解决办法
3343
查看次数

PHP preg_replace错误:未知修饰符']'

对另一个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)

我通过几个在线正则表达式构建器运行正则表达式,看起来很合理.我在这里缺少什么想法?我使用]不正确吗?

php regex preg-replace

2
推荐指数
1
解决办法
1901
查看次数

正则表达式错误preg_replace_callback():未知的修饰符'.' 在

我得到以下字符串:

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)

php regex preg-replace preg-replace-callback preg-match

2
推荐指数
1
解决办法
770
查看次数

preg_match 错误未知修饰符 '('

这有什么问题吗?

\n\n
public 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}\n
Run Code Online (Sandbox Code Playgroud)\n\n

此模式验证了这一点 - 20/08/2011 21:00:00

\n\n

错误:消息:preg_match() [function.preg-match]:未知修饰符 \'(\'

\n

php regex preg-match

2
推荐指数
1
解决办法
5265
查看次数

"未知"修饰符"c"在正则表达式中的含义是什么?

我是正规表达的新手,我需要一些帮助:).

我有这个:

$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'.

我怎样才能做到这一点?

php regex

1
推荐指数
1
解决办法
81
查看次数