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