Ruby 正则表达式匹配括号内的字母

Ruby 正则表达式匹配括号内的字母,ruby,regex,Ruby,Regex,我需要编写一个正则表达式来匹配包含以下一个或多个子字符串(包括花括号)的所有字符串: 我对正则表达式一无所知。有人能帮忙吗?您没有指定要使用的语言/界面。。。一般来说:\{.*?\}。如果只想匹配显示的字符串,请将*?替换为N{2,6}? Ruby示例: if ( content =~ /\{N{2,6}\}/ ) puts "Content match!" end 我正在使用Ruby on Rails,可能与之重复。 if ( content =~ /\{N{2,6}\}/ )

我需要编写一个正则表达式来匹配包含以下一个或多个子字符串(包括花括号)的所有字符串:


我对正则表达式一无所知。有人能帮忙吗?

您没有指定要使用的语言/界面。。。一般来说:
\{.*?\}
。如果只想匹配显示的字符串,请将
*?
替换为
N{2,6}?

Ruby示例:

if ( content =~ /\{N{2,6}\}/ )
   puts "Content match!"
end

我正在使用Ruby on Rails,可能与之重复。
if ( content =~ /\{N{2,6}\}/ )
   puts "Content match!"
end
r = /
    \{      # match left brace
    N{2,6}  # match between 2 and 6 Ns
    \}      # match right brace
    /x      # free-spacing regex definition mode

arr = %w|{N} {NN} {NNN} {NNNN} {NNNNN} {NNNNNN} {NNNNNNN} {NNMN}|
  #=> ["{N}", "{NN}", "{NNN}", "{NNNN}", "cat{NNNNN}dog", "{NNNNNN}",
  #    "{NNNNNNN}", "{NNMN}"]

arr.each { |s| puts "'#{s}'.match(r) = #{s.match?(r)}" }
'{N}'.match(r) = false
'{NN}'.match(r) = true
'{NNN}'.match(r) = true
'{NNNN}'.match(r) = true
'cat{NNNNN}dog'.match(r) = true
'{NNNNNN}'.match(r) = true
'{NNNNNNN}'.match(r) = false
'{NNMN}'.match(r) = false