PHP正则表达式-查找以“like'#球';

PHP正则表达式-查找以“like'#球';,php,regex,Php,Regex,我正在尝试创建一个PHP正则表达式,它将匹配任何以“#”开头的单词,比如“#ball”。我试过这个 preg_match_all('/( #\w+)/u', $text, $matches); 但它返回所有包含“#”的单词,如“pin#ball” 试试这个: $sData = '#pin all#foo #bar'; preg_match_all('/(^|\s+)#([a-zA-Z]+)/', $sData , $rgMatches); //var_dump($rgMatches[2]);

我正在尝试创建一个PHP正则表达式,它将匹配任何以“#”开头的单词,比如“#ball”。我试过这个

preg_match_all('/( #\w+)/u', $text, $matches);
但它返回所有包含“#”的单词,如“pin#ball”

试试这个:

$sData = '#pin all#foo #bar';
preg_match_all('/(^|\s+)#([a-zA-Z]+)/', $sData , $rgMatches);
//var_dump($rgMatches[2]);
试试这个正则表达式

preg_match_all('/(?!\b\s*)#.*\b/', $text, $matches);

您需要使用
preg_match_all
捕获所有匹配项。只需/#[a-zA-Z]+/删除前面的spaces@VictorStanciu-谢谢。我以前没有注意到。编辑。谢谢重播。请看这里,如果我使用这个字符串“#发明需要长期愿意被误解,”贝佐斯说。“引号阅读更多:”。它只返回“#引号”。但我需要“#引号”和“#发明”。我使用了你的代码作为“{preg#u match_all”('/\s+#[a-zA-Z]+/”,$text,$matches)}这里,$text是我的字符串,$matches是一个数组。@user2688482-我已经尝试过了,它在您的示例中运行得很好-注意
(^ |\s+)
在我的regexGoogle'hashtag regexp'-First result:它是.NET,但是它的regexp