Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正则表达式匹配任何字母、空格或特定数字_Php_Regex_Preg Match_Pcre - Fatal编程技术网

Php 正则表达式匹配任何字母、空格或特定数字

Php 正则表达式匹配任何字母、空格或特定数字,php,regex,preg-match,pcre,Php,Regex,Preg Match,Pcre,我正在尝试创建一个正则表达式来匹配所有字母、空格或特定数字 这是我的 ([a-zA-Z\s24]*) #但这是匹配的2或4,我只需要24个 前任: -asdfafasf asfasdf#应与asdfafasf asfasdf匹配 -asdf asdf asdf 24#应与asdf asdf asdf 24匹配 -asdf24asdfasdf as#应与asdf24asdfasdf as匹配 -asdfadf2 asdf#应与asdfadf匹配 -asdfasdf kljl 6#应与asdfas

我正在尝试创建一个正则表达式来匹配所有字母、空格或特定数字

这是我的

([a-zA-Z\s24]*)
#但这是匹配的2或4,我只需要24个 前任: -asdfafasf asfasdf#应与asdfafasf asfasdf匹配 -asdf asdf asdf 24#应与asdf asdf asdf 24匹配 -asdf24asdfasdf as#应与asdf24asdfasdf as匹配 -asdfadf2 asdf#应与asdfadf匹配 -asdfasdf kljl 6#应与asdfasdf kljl匹配 我想你想要:

([a-zA-Z\s]*|24)

然后得到A-Z\s组或数字24。

将字符序列放入字符类。character类意味着匹配character类中定义的单个char,因此,您所做的无法工作

您需要使用分组构造、替换组和acc。根据预期的匹配,您只需要在字符串的开头进行匹配:

^(?:24|[a-zA-Z\s])+

详细信息

  • ^
    -字符串的开头
  • (?:24 |[a-zA-Z\s])+
    -一次或多次出现:
    • 24
      -子字符串
      24
    • |
      -或
    • [a-zA-Z\s]
      -ASCII字母或空格

应该是:
([a-zA-Z\s]+|24)
试试
^(?:24 |[a-zA-Z\s])+
试试这个网站。这可能会有帮助是的,我认为这很接近,但现在我需要分组第二个结果。第一组应该是所有的字母(或24),直到它碰到一个数字。第2组应该是数字。
^(?:24|[a-zA-Z\s])+