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,30}
表示量词
,用于3的min
和30的最大重复次数
a*
表示零个或多个a
a+
表示一个或多个a
a?
表示零或一a
a{1}
的意思与a完全相同
只是a
a{1,}
表示一个或多个与
a+
a{1,3}
表示一的最小值和一的最大值
3a的
您可以使用任何复杂正则表达式来代替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) ) {