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 - Fatal编程技术网

Php 正则表达式在字符串中查找单词

Php 正则表达式在字符串中查找单词,php,regex,Php,Regex,我尝试了^name&,但不起作用。我如何在中找到一个名字你好我的名字是/.name./两点表明,每边至少有一个字符。/name/在这里似乎很有效 $str = "hello-my-name-is"; $str1 = preg_match("/name/", $str); echo $str . " => " . $str1; 输出是- hello-my-name-is => 1 意味着它找到了名称子目录,并且出现了1次。我想你要找的是/name/或/\bname\b/\b是单词边

我尝试了
^name&
,但不起作用。我如何在
中找到一个名字你好我的名字是

/.name./
两点表明,每边至少有一个字符。

/name/
在这里似乎很有效

$str = "hello-my-name-is";
$str1 = preg_match("/name/", $str);
echo $str . " => " . $str1;
输出是-

hello-my-name-is => 1

意味着它找到了
名称
子目录,并且出现了1次。

我想你要找的是
/name/
/\bname\b/
<代码>\b
是单词边界的指示器。有关更多信息,请参阅此文档:

搜索字符串时,
^name$
没有给出任何结果的原因是因为字符
^
将搜索定位到字符串的开头。类似地,
$
将搜索定位到末尾。例如:

  • ^name
    仅当字符串以
    “name”
    开头时有效,例如
    “name is cool”
  • name$
    仅当字符串以
    名称“
    结尾时有效,例如
    “where is name”

有关锚的更多信息,请参阅本页:

查看以了解基础知识。要解决您的实际问题,您可能需要详细说明上下文,并显示真实的数据/输入以及您想要获得的内容。
&
不是字符串的结尾,您需要
$
来解决。啊,是的,我错了。我已经纠正了打字错误。谢谢,这些都不适合你me@AndyMaccarther您可能希望共享用于搜索字符串的代码,以便我们能更好地帮助您。@andymacarther
*
表示查找0个或多个字符,后跟
product\u detail
,后跟
s*
=0个或多个
s
,然后接任何字符。我想你指的是
*产品详细信息。*
很抱歉,这不是PHP的问题,而是使用正则表达式的问题。如何使用正则表达式?@andymaccarter你用
PHP
标记了你的问题。如果不是php,那么您可能需要删除
php
标记。@andymacarthur,Regex必须用某种语言实现。。你不能把它写在任何地方。。我的示例显示了使用PHP时,应该与任何其他语言一起使用。这是一个老问题,但不应该是
+
来匹配一个或多个字符吗?