我只需要将文本匹配到“”。引号之间的文字匹配
我试着用这个代码,但这么想的工作:(提前
text = ""This is an example text to be mathed""
text.scan(/^(")$(")/)
感谢。
我只需要将文本匹配到“”。引号之间的文字匹配
我试着用这个代码,但这么想的工作:(提前
text = ""This is an example text to be mathed""
text.scan(/^(")$(")/)
感谢。
所以你的例子不工作,因为你的字符串格式不正确。也就是说,“”嘘“”是不是一个Ruby字符串你可以使用单引号,使在双引号括起来的字符串,并做了比赛,就像这样:
>> boo = '"Sample text to be matched"'
=> ""Sample text to be matched"\n"
>> boo.scan(/"(.*)"/)
=> [["Sample text to be matched"]]
使用'。*'表示''a foo bar'和'baz qux'''会给出'foo bar'和'baz qux''的匹配。使用'/“[^”] *“/'。 – Walf 2012-01-01 01:02:05
匹配字符串一个更好的模式是:
/"(\\.|[^"])*"/
这将消耗反斜杠转义,但会停止在第一个终止"
(除非它前面有一个反斜杠)。
这没有意义。您的示例文本中没有任何双引号。 – 2011-12-31 20:45:08
这是真的,我修复它,谢谢 – jgiunta 2011-12-31 20:52:24
'“”这是一个示例文本mathed“”'是在Ruby中的无效字符串定义。也许在命令行上使用IRB进行试验会对你有所帮助?尝试在控制台中输入“irb”并交互式地尝试字符串定义和扫描。 – 2011-12-31 20:59:15