Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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 PCRE全字匹配(仅允许空格作为分隔符)_Php_Preg Match_Pcre - Fatal编程技术网

Php PCRE全字匹配(仅允许空格作为分隔符)

Php PCRE全字匹配(仅允许空格作为分隔符),php,preg-match,pcre,Php,Preg Match,Pcre,我想将字符串作为一个完整的单词匹配“~\b$search\b~I”,它匹配'35'到'35-40'。我只想用空格来分隔单词 测试用例: 在下列情况下匹配35个: 35-40=>错误 3-5=>false 335=>错误 350=>false 35=>正确 感谢您的回答您可以使用以下内容代替单词边界断言: ~(?<!\S)$search(?!\S)~i ~(? 此处,(?断言前面没有非空白字符(\S),(!\S)断言后面没有非空白字符,$search您可以使用它来代替单词边界断言: ~

我想将字符串作为一个完整的单词匹配
“~\b$search\b~I”
,它匹配'35'到'35-40'。我只想用空格来分隔单词

测试用例: 在下列情况下匹配35个:

  • 35-40=>错误
  • 3-5=>false
  • 335=>错误
  • 350=>false
  • 35=>正确
感谢您的回答

您可以使用以下内容代替单词边界断言:

~(?<!\S)$search(?!\S)~i
~(?
此处,
(?断言前面没有非空白字符(
\S
),
(!\S)
断言后面没有非空白字符,
$search

您可以使用它来代替单词边界断言:

~(?<!\S)$search(?!\S)~i
~(?

这里,
(?声明前面没有非空白字符(
\S
),而
(?!\S)
声明后面没有非空白字符
$search

太好了!感谢您的快速回答!太好了!感谢您的快速回答!