次のことを実現する正規表現を探しています。
**Only single**, alphanumeric p**art**s of **words** enclosed by two asterisks should be matched.****
この文字列から、「art」と「words」をフィルタリングする必要があります。
これまでのところ、私は持っていますが\*{2}(\w+)
、最後のアスタリスクをどのように処理するかを理解しようとして立ち往生しています。
これはどう?
あなたはこれを試すことができます\*{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
preg_match_all('~(?<=\*\*)[a-z\d]+(?=\*\*)~i', $string, $matches);
実際の動作はこちら: http://codepad.viper-7.com/OJHzEs
詳細な説明は次のとおりです。