我试图写一个(Ruby)正则表达式来捕获关闭EViews字符串的双引号。在EViews中,字符串用双引号括起来并包含字符串中的实际双引号,我们写双引号:
myStr = "item1 item2 item3"
myStr2 = """item1"" ""item2"" ""item3"""
字符串可以出现在任何地方,所以我没有使用行的开头和结尾帮助。
到目前为止我所拥有的是:
((?<="")|(?<!"))(")(?!")
也就是说,找到一个双引号,前面带有两个双引号或没有双引号,并且没有双引号。这捕获了收盘双重报价,但遗憾的是也是开头报价。
在旁注中,我需要这个的原因是我正在使用描述Sublime Text 3的EViews语法的YAML文件。至于捕获字符串,这是我到目前为止所拥有的:
strings:
- match: '"'
scope: punctuation.definition.string.begin.eviews
push: string
string:
- meta_scope: string.quoted.double.eviews
- match: '"' #((?<="")|(?<!"))(")(?!")
scope: punctuation.definition.string.end.eviews
pop: true
答案 0 :(得分:0)
这个问题可能没有以最好的方式表达。我最终找到了一个可能有点笨拙的解决方案,但有效:
<label for="yes">Yes</label>
<input type="radio" id="yes" name="random"/>