-2

重複の可能性:
Twitter ハッシュタグを条件付きでハイパーリンクに置き換える正規表現

記号の後に単語を取得しようとしています#

したがって、次の文字列はすべて返されますstack_overflow

#stack_overflow
hello #stack_overflow
blahblahblah#stack_overflow

パターンはどのように見えますか?

4

2 に答える 2

3

\w「単語」文字に一致するため、次のようになります。

'/#\w+/'

\wには、小文字と大文字aからz、数字、およびアンダースコアが含まれます。さらに必要な場合は、文字セットを使用してください。

そして、グループに入れれば捕獲できます。これがデモです。

于 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 に答える