在ruby中拼接文本的简单正则表达式

在ruby中拼接文本的简单正则表达式,ruby,regex,Ruby,Regex,我正在使用ruby,我想拼接出一段与正则表达式匹配的字符串(我认为这相对容易,但我有困难) 我有几千根这样的弦(不同程度地) 但这实际上捕获了alrjeowur woer woeriuwe的orua fklajdfqwieru 我假设+?将匹配我要查找的内容,但它似乎是从它找到的第一个正斜杠开始的(即使它不是贪婪的),然后向前扩展到“.xml”) 有没有想过我做错了什么 TKS!!试试/\/[^\/]+\.xml\/。这将强制斜杠之间的部分为非斜杠,这是原始正则表达式所没有的。原始正则表达式查找

我正在使用ruby,我想拼接出一段与正则表达式匹配的字符串(我认为这相对容易,但我有困难)

我有几千根这样的弦(不同程度地)

但这实际上捕获了alrjeowur woer woeriuwe的orua fklajdfqwieru

我假设+?将匹配我要查找的内容,但它似乎是从它找到的第一个正斜杠开始的(即使它不是贪婪的),然后向前扩展到“.xml”)

有没有想过我做错了什么


TKS!!

试试
/\/[^\/]+\.xml\/
。这将强制斜杠之间的部分为非斜杠,这是原始正则表达式所没有的。原始正则表达式查找第一个斜杠,然后匹配任何内容,直到找到第一个
.xml/
。贪婪的匹配将查找最后一个
.xml/
,这对您的情况没有影响。

这有道理。谢谢。基本上…在两个正斜杠之间找到本身不包含正斜杠的东西
my_string = "adfa <b>weru</b> orua fklajdfqwieru ofaslkdfj alrjeowur woer woeriuwe  <img src=\"/images/abcde_111-222-333/111-222-333.xml/blahblahblah.jpg\" />"
my_match = my_string.match(/\/.+?\.xml\//)