0

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

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

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

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 回答