在Ruby中使用正则表达式

时间:2012-11-13 15:40:52

标签: ruby regex

我有一个正则表达式,我正在尝试在Ruby中使用。这是我的正则表达式,当我添加双转义键

时,它在Java中工作
\(\*(.*?)\*\) 

我知道这是一个简单的问题,但我如何将其写为ruby表达式并将其设置为等于变量?我感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

试试这个:

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

要清楚,这只是将正则表达式保存到变量中。使用它:

"(**)" =~ myregex

答案 1 :(得分:0)

试试这个:

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

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

答案 2 :(得分:0)

正则表达式是Ruby中的本机类型(实际的类是“Pattern”)。你可以写:

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

[看起来像'('/')'对之间的任何东西,是吗?]

然后你可以做

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

......或者更紧凑

comment = mypat.match(str)[1]