Rubyで使用しようとしている正規表現があります。これが私の正規表現で、ダブルエスケープキーを追加すると Java で動作します
\(\*(.*?)\*\)
これは簡単な質問だと思いますが、これをルビ式としてどのように記述し、変数に等しく設定しますか? 助けていただければ幸いです。
これを試して:
myregex = /\(\*(.*?)\*\)/
明確にするために、これは正規表現を変数に保存するだけです。使用するには:
"(**)" =~ myregex
これを試して:
if /\(\*(.*?)\*\)/ === "(*hello*)"
content = $1 # => "hello"
end
正規表現は Ruby のネイティブな型です (実際のクラスは「Pattern」です)。あなたはただ書くことができます:
mypat = /\(\*(.*?)\*\)/
['( ' / ' )' ペアの間の何かのように見えますよね?]
その後、次のことができます
m = mypat.match(str)
comment = m[1]
...または、よりコンパクトに
comment = mypat.match(str)[1]