0

# または @ で始まる文字列のみを保持したい

  1. foob​​ar @sushi - わさび
  2. foob​​ar #sushi - ホースラディッシュ

したがって、@susuiのみに一致させるか、その周りのテキストを削除してください。PHP または JavaScript。

4

1 に答える 1

4

「単語」をどのように定義するかに応じて、おそらく必要です

(?<=\s|^)[@#]\S+

また

(?<=\s|^)[@#]\w+

説明:

(?<=\s|^)  # Assert that the previous character is a space (or start of string)
[@#]       # Match @ or #
\S+        # Match one or more non-space characters
(or \w+)   # Match one or more alphanumeric characters.

したがって、PHP では次のようになります。

preg_match_all('/(?<=\s|^)[@#]\S+/', $subject, $result, PREG_PATTERN_ORDER);

$resultstring 内のすべての一致の配列を返します$subject。JavaScript では、後読み (正規表現の最初の "Assert..." 部分) がサポートされていないため、これは機能しません。

于 2012-06-23T16:52:10.870 に答える