Php 赛前差异?

Php 赛前差异?,php,mysql,database,regex,preg-match,Php,Mysql,Database,Regex,Preg Match,我想问,这两条线的意思或区别是什么 if(preg_match_all('/\#)([1488;-1514;-1925;)一-龥а-аa-z0-9 \-{1,50})/iu',$message,$matches,PREG_PATTERN_ORDER)){ if(preg\u match\u all('/\\\)([а-a-z0-9\-\ux{4e00}-\x{9fa5}]{1,50})/iu',$message,$matches,preg\u模式顺序){ 这一行中的数字3是什么意思 谢谢!我将回

我想问,这两条线的意思或区别是什么

  • if(preg_match_all('/\#)([1488;-1514;-1925;)一-龥а-аa-z0-9 \-{1,50})/iu',$message,$matches,PREG_PATTERN_ORDER))
    {

  • if(preg\u match\u all('/\\\)([а-a-z0-9\-\ux{4e00}-\x{9fa5}]{1,50})/iu',$message,$matches,preg\u模式顺序){

  • 这一行中的数字3是什么意思


    谢谢!

    我将回答你问题的第二部分:

    正则表达式中的
    {3,30}
    表示
    量词
    ,用于
    3的
    min
    30的最大重复次数

    • a*
      表示零个或多个
      a
    • a+
      表示一个或多个
      a
    • a?
      表示零或一
      a
    • a{1}
      的意思与a完全相同 只是
      a
    • a{1,}
      表示一个或多个与
      a+
    • a{1,3}
      表示一的最小值和一的最大值 3
      a的

    您可以使用任何复杂正则表达式来代替
    a
    。例如:
    [a-zA-Z]{3,30}
    意味着至少
    3
    ,最多
    30

    您的第一个正则表达式包括希伯来语和重音拉丁语字符(可能还有其他字符)第二个正则表达式不包括。第二个表达式用于匹配Unicode字符

    \x{FFFF}其中FFFF是1到4个十六进制数字
    匹配特定Unicode代码点的Perl语法。可在字符类内使用

    示例:
    \x{E0}仅匹配编码为U+00E0的a。
    \x{A9}匹配项(

    因此,它尝试匹配从U+4e00到U+9fa5(从到)的每个Unicode字符 )而最后一个字符不是有效的Unicode字符


    第一个表达式还尝试匹配这些字符(
    一-龥),但它们不是用Unicode语法表示的(我不知道这是否与问题相反)。
    此外(如前所述),第一个表达式匹配更多字符,即
    א-ת
    À-ÿ


    第二个问题由UnicorAddict提出

    if( preg_match_all('/\@([a-zA-Z0-9\-_\x{4e00}-\x{9fa5}]{->3,30})/u', $message, $matches, PREG_PATTERN_ORDER) ) {