我正在尝试仅在匹配完全匹配时捕获字符串。
I.e.valid:
/this-is-an-exact-matc
/this-is-also-an-exact-match
/this-is-other-exact-match?d=1
/balbabla
无效:
/this-is-not/fafa/fafa
/dede/ddd/dfsfd
/
因为您只能将一个路径级别视为有效字符串。 我在尝试:
\/(.*)
...但这也证实了像/ bbalbalb / blablba
这样的真实内容由于
答案 0 :(得分:2)
也许这就是:
string =~ %r{\A/[^/]+\z}
要获得您在评论中提出的问题,请尝试以下方法:
string[%r{(?<=\A/)(?=[^/]+\z)([^?]+)}]
答案 1 :(得分:0)
def valid?(s)
s.count('/') == 1
end
valid?('/this-is-not/fafa/fafa') # => false
valid?('/balbabla') # => true
更新(根据@CasimiretHippolyte评论)
def valid?(s)
s.rindex('/') == 0
end
valid?('/this-is-not/fafa/fafa') # => false
valid?('/balbabla') # => true