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