2016-12-22 3 views
0

私は正規表現を持っている:正規表現の後方参照で*をマッチさせることはできますか?

この文字列に対してテスト
\w+(?<=\*)(\w+)? 

this is a *pick this that 

これは何も一致しますが、単に通常の文字は、素晴らしい作品のために*を代入しません:

\w+(?<=X)(\w+)? 
this is a Xpick this that 

「ピック」にマッチしてキャプチャします。後方参照ではワイルドカードは使用できませんか?

(正規表現での*は正しく私の言語でエスケープされます(スカラ):val reg = """\w+(?<=\*)(\w+)?""".r

+1

あなたがしようとしている方法ではなく、達成しようとしていることを説明する方がよいでしょう。あなたは '*'の直後に来る言葉を捕まえようとしていますか? – alfasin

答えて

1

あなたはそれが特別なエスケープ必要としない文字クラスの中にアスタリスクを入れてみてくださいすることができます

val reg = "\w+(?<=[*])(\w+)?".r 
+0

'\ w +(?<= [*])'は決して一致しません。あなたは単語の文字にマッチして、それがアスタリスクであるかどうかをチェックするために同じ文字を見ている。 –