2011-04-23 85 views
4

我试过^名字&它不起作用,我怎么能找到这个字符串里面的名字,我之前却没有了:(?“你好我的名字是”正则表达式在字符串中找到一些东西

+4

退房http://regular-expressions.info/学习的基础知识。要解决您的实际问题,您可能需要详细说明上下文并显示真实的数据/输入以及您想要获得的内容。 – mario 2011-04-23 07:34:45

+1

你能显示一些代码吗? – 2011-04-23 07:35:35

回答

2

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

+1

老问题,但不应该是'。+'匹配一个或多个字符? – roland 2015-07-15 09:10:41

0

/name/似乎很好这里工作

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

输出为 - 。

hello-my-name-is => 1 

意味着它找到了name子串,它出现了1次。

+0

对不起,它不适合PHP使用REGEX的东西,我怎样才能用正则表达式呢? – AndyMaccarthur 2011-04-23 09:31:51

+0

@AndyMaccarther你用'php'标记了你的问题。如果它不适用于PHP,那么您可能需要删除'php'标签。 – Ben 2011-04-23 10:59:27

+0

@AndyMaccarthur,正则表达式必须用某种语言实现..你不能只是把它写在任何地方..我的例子显示了使用PHP,应该使用任何其他语言。 – 2011-04-23 19:37:02

2

我认为你要找的是/name//\bname\b/\b是一个字边界的指标。更多信息请参阅本文档:http://www.regular-expressions.info/wordboundaries.html

原因^name$搜索字符串"hello-my-name-is"时,不会给你任何的结果是因为字符^锚搜索到的字符串的开始。同样$将搜索锚定到最后。例如:

  • ^name仅在字符串以"name"开头的情况下有效,例如, "name is cool"
  • name$仅在字符串以"name"(例如, "where is name"

有关锚更多信息请参阅本页面:http://www.regular-expressions.info/anchors.html

+0

'&'不是字符串的结尾 - 你需要''''。 – 2011-04-23 08:19:20

+0

啊,是的,我的错误。我修复了错字。谢谢。 – Ben 2011-04-23 08:25:17

+0

这些都不对我来说 – AndyMaccarthur 2011-04-23 09:34:42

相关问题