我正在尝试为正则表达式匹配编写一个gsub,但我想有一种更完美的方法可以做到这一点。
我的等式:
ref.gsub(ref.match(/settings(.*)/)[1], '')
这样我就可以使用settings/animals
,只返回settings
。
但是如果settings
为空怎么办?比我的[1]
失败了。
那么如果假设有时settings
不匹配,那么如何编写上述语句?
答案 0 :(得分:0)
使用/(settings|)(.*)/
,然后第一组将返回“settings”或空字符串(如果不存在)。
puts 'settings/123'.match(/(settings|)(.*)/)[1];
puts 'Xettings/123'.match(/(settings|)(.*)/)[1];