是否有可能在仍然獲得匹配的情況下在正則表達式中找到匹配的索引?例如:在字符串中查找正則表達式匹配的索引
str = "foo [bar] hello [world]"
str.match(/\[(.*?)\]/) { |match,idx|
puts match
puts idx
}
不幸的是,idx
在本例中爲零。
我的現實世界的問題是一個字符串,我想根據一些條件(例如,如果字符串在黑名單中)來替換某些子字符串,這些子字符串用圓括號括起來,例如,當world
這個詞在黑名單中時,"foo [bar] hello [world]"
應該變成"foo [bar] hello (world)"
。
繼由Eric Duminil一個建議,我已經重構我的代碼。既然你接受我的答案(謝謝btw),一定要檢查更新:) –