1

我必须遵循正则表达式:

(\/\*\*)([\s[:graph:]]*@brief[\s[:graph:]]*\r)( \*\/)

我正在尝试检查以下内容:

/**
    @brief TestViewController

    <##full description#>

    @see UIViewController
    @ingroup <##group/module#>

    @date 2012-10-29
 */
@interface LaunchViewController : UIViewController {

这是在代码变量中。

它将不匹配,以这种方式检查:

if @code =~ /(/*\*)([\s[:graph:]]*@brief[\s[:graph:]]*\r)( \*\)/
    puts "found----------" 
end

我也这样尝试过:

r = Regexp.new(Regexp.quote('/') + Regexp.quote('**') + '[\s[:graph:]]*@brief[\s[:graph:]]*\r ' + Regexp.quote('*/'))

谁能帮我解决这个问题?

在这种情况下,我对群组不感兴趣,所以请不要怀疑一个有群组而另一个没有群组。

4

1 回答 1

2

Ruby 通常不包含\r在换行符中。如果将正则表达式更改为:

/(\/\*\*)([\s[:graph:]]*@brief[\s[:graph:]]*)( \*\/)/

我得到一个匹配。

于 2012-10-29T15:26:27.163 回答