我正在编写一个简单程序语言的编译器。在这种语言中,字符串变量可以定义如下:
String str = "hello";
简化了有效字符串的定义,不允许使用转义字符(因此"\"hello\""
不是有效字符串,因为它有太多引号,而"\n\n"
是合法的4字符字符串它不是两条新线)。我正在尝试编写一个正则表达式来匹配字符串文字部分。最简单的事情是".*"
。这很好用,但有一个问题,它也匹配
"hello" safdfasasf"
这是一个非法字符串,因为字符串不能有内部引号。我尝试了几种不起作用的替代方法,例如:"(?!")"
匹配任何不是引号的东西,然后要求引号,但这不起作用,因为它没有'也承认最后一句话。这个正确的正则表达式是什么?
答案 0 :(得分:0)
当然,你正在寻找像
这样的东西"[^"]*"