0

Rubyで使用しようとしている正規表現があります。これが私の正規表現で、ダブルエスケープキーを追加すると Java で動作します

\(\*(.*?)\*\) 

これは簡単な質問だと思いますが、これをルビ式としてどのように記述し、変数に等しく設定しますか? 助けていただければ幸いです。

4

3 に答える 3

2

これを試して:

myregex = /\(\*(.*?)\*\)/

明確にするために、これは正規表現を変数に保存するだけです。使用するには:

"(**)" =~ myregex
于 2012-11-13T15:46:37.520 に答える
0

これを試して:

if /\(\*(.*?)\*\)/ === "(*hello*)"
  content = $1 # => "hello"
end

http://rubular.com/r/7eCuPX3ri0

于 2012-11-13T15:43:49.557 に答える
0

正規表現は Ruby のネイティブな型です (実際のクラスは「Pattern」です)。あなたはただ書くことができます:

mypat = /\(\*(.*?)\*\)/

['( ' / ' )' ペアの間の何かのように見えますよね?]

その後、次のことができます

m = mypat.match(str)
comment = m[1]

...または、よりコンパクトに

comment = mypat.match(str)[1]
于 2012-11-13T15:48:06.613 に答える