-2

可能重复:
正则表达式有条件地用超链接替换 ​​Twitter 主题标签

我试图在符号后得到这个词#

所以下面的字符串,应该都返回stack_overflow

#stack_overflow
hello #stack_overflow
blahblahblah#stack_overflow

图案会是什么样子?

4

2 回答 2

3

\w匹配“单词”字符,因此:

'/#\w+/'

\w包括小写和大写字母az数字和下划线。如果您需要更多,请使用字符集。

然后,如果你把它放在一个组中,你就可以捕获它。这是一个演示。

于 2013-01-16T00:17:31.503 回答
0

试试这个代码:

$content = '#stack_overflow
            hello #stack_overflow
            blahblahblah#stack_overflow';
preg_match_all('/\#(?P<name>[a-z_]+?)/Uim', $content, $matches, PREG_SET_ORDER);

foreach ($matches as $match) {
    var_dump($match['name']);
}

那会让你

string(14) "stack_overflow"
string(14) "stack_overflow"
string(14) "stack_overflow"
于 2013-01-16T00:25:03.300 回答