0

次のことを実現する正規表現を探しています。

 **Only single**, alphanumeric p**art**s of **words** enclosed by two asterisks should be matched.****

この文字列から、「art」と「words」をフィルタリングする必要があります。

これまでのところ、私は持っていますが\*{2}(\w+)、最後のアスタリスクをどのように処理するかを理解しようとして立ち往生しています。

4

3 に答える 3

1

これはどう?

\*{2}([a-zA-Z0-9]+)\*{2}

ここに画像の説明を入力

于 2013-01-15T18:12:18.933 に答える
1

あなたはこれを試すことができます\*{2}([A-Za-z0-9]+)\*{2}

\*     <- An asterisk (escaped as * is already a symbol)
{2}    <- Repeated twice
(      <- Start of a capturing group
  [A-Za-z0-9]    <- An alphanum (careful with \w, it's the equivalent of [a-zA-Z0-9_] not [a-zA-Z0-9])
  +              <- Repeated at least once
)      <- End of the capturing group
\*     <- An asterisk (again)
{2}    <- Repeated twice
于 2013-01-15T18:11:43.250 に答える
0
preg_match_all('~(?<=\*\*)[a-z\d]+(?=\*\*)~i', $string, $matches);

実際の動作はこちら: http://codepad.viper-7.com/OJHzEs


詳細な説明は次のとおりです。

ここに画像の説明を入力

于 2013-01-15T18:12:02.080 に答える