我想替换方括号内的所有破折号,但保留不是的破折号。
细绳:dont-change-this[only-change-inside-brackets]
结果:dont-change-this[only_change_inside_brackets]
我目前这样做的方式是捕获方括号中的所有内容,然后替换。
regex = /(\[([a-z-]+)\])/
testString = "dont-change-this[only-change-inside-brackets]"
testString.match regex
testString.sub(regex, $1.gsub(/-/, '_'))
它有效,但我想知道是否有一种方法可以在一个表达式中做到这一点。