0

reg-exesを使用して*および/を使用して文字列を検索する必要があります。これは、Rubyで記述しています。多くの*および/を検索する必要がある理由は、言語のトークナイザーを構築しており、複数行のコメントがあるためです。複数行のコメントのCスタイルを使用します(/ * * /)。すでに1行のコメントを処理しています。

非常に多くのエスケープが原因で間違いを見つけることが不可能であるため、正規表現を示すために2つの序文のスラッシュを使用せずにreg-exを使用する方法はありますか?または、誰かが私に正気の問題での脱出を処理する方法についてアドバイスを与えることができますか?私はすでに最初にシーケンスを書いて、それからそれをエスケープしようとしました。

お時間をいただき、ありがとうございました。

4

1 に答える 1

2

役立つかもしれない1つのトリックは%r文字通りです:

%r{http://www\.google\.com}

正規表現にない場合は、自分でパイプを使用するのが好きです。

%r|http://www\.google\.com|

文字列を介して正規表現の新しいインスタンスを作成しRegexp.newて渡すこともできます。

最後に、あなたも見るRegexp.quoteかもしれません:

正規表現で特別な意味を持つ文字をエスケープします。新しいエスケープされた文字列を返します。エスケープされた文字がない場合はselfを返します。どの文字列でも、 Regexp.new(Regexp.escape(str))=~strtrueになります。

于 2012-04-08T07:07:19.537 に答える