红宝石报价正则表达式
问题描述:
我想问,因为我看,它的具体和无法找到其他线程。红宝石报价正则表达式
我想制作一个正则表达式,它将捕获两个引号和引号之间的所有内容以及周围的内容。
,如:“插入的任何字符串这里(可包含”“的)”
基本上我想这将需要在它们之间的报价和一切正则表达式线(可以是任何东西)。
所以引用一行内容和任何内容。
我似乎无法弄清楚这一点。
答
我认为你只是有单引号和双引号的问题。使用此:
%q{like: "insert whatever string here (which can include " "'s)"}[/".*"/]
答
从事物的正则表达式的一面,你可以试试这个:
str = %q{uncaptured " captured " " /captured " /uncaptured}
str[/".*"/]
#=> "" captured " " /captured ""
对于非正则表达式的解决方案,你只要找到第一个和最后一个索引并收集子之间:
str[str.index('"')..str.rindex('"')]
听起来有点问题。要澄清您所问的内容:即使字符串中有引号,也需要用引号括起来的最大字符串。所以“富”玛丽“应该匹配作为富”玛丽,对吗? – 2012-02-12 05:33:21
你想要匹配什么样的样本并且不匹配? – Mori 2012-02-12 05:34:43
为什么使用正则表达式?可能会比较容易点数,使用堆叠等。 – 2012-02-12 05:36:04