我不太确定我了解非捕获组的工作方式。我正在寻找产生此结果的正则表达式:5.214
。我以为下面的正则表达式可以正常工作,但是它正在替换包括非捕获组在内的所有内容。如何编写正则表达式以仅替换捕获组?
"5,214".gsub(/(?:\d)(,)(?:\d)/, '.')
# => ".14"
我想要的结果:
"5,214".gsub(some_regex)
#=> "5.214
你不能 gsub
替换整个比赛;它对捕获的组没有任何作用。是否捕获组都不会有任何区别。
为了获得结果,您需要使用lookbehind和lookahead。
"5,214".gsub(/(?<=\d),(?=\d)/, '.')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句