我尝试仅在匹配准确的情况下捕获字符串。
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
/
正如您所能做到的,只有一个路径级别必须算作有效的字符串。我正在尝试:
\/(.*)
..。但这也验证了/blablba/blablba之类的东西是真的
谢谢
发布于 2013-07-10 03:25:52
也许是这样的:
string =~ %r{\A/[^/]+\z}
要获得您在评论中所要求的内容,请尝试以下命令:
string[%r{(?<=\A/)(?=[^/]+\z)([^?]+)}]
发布于 2013-07-10 03:24:38
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
https://stackoverflow.com/questions/17561936
复制相似问题