我被分配编写一个针对BASIC编程语言的编译器。在BASIC中,代码可以通过换行或:
符号进行分隔。例如,以下两个代码块是有效的:
模型 #1
10 PRINT "Hello World 1" : PRINT "Hello World 2"
型号# 2
10 PRINT "Hello World 1"
20 PRINT "Hello World 2"
你可以在这里测试:http://www.calormen.com/jsbasic/。 在我的编译器中解析代码之前,首先需要分割代码。我已经将代码分成了行,但是我无法找到一个正则表达式来分割以下代码示例:此代码示例应该分成两个
PRINT
代码。 10 PRINT "Hello World 1" : PRINT "Hello World 2"
但是,不要匹配这个:
下面的代码示例是一个独立的命令。
10 PRINT "Hello World 1" ": PRINT Hello World 2"
问题
是否有任何正则表达式模式可以匹配以上代码示例的第一个,其中:
在"
对之外,并且不匹配第二个?
有谁可以帮帮我吗?
任何信息都会有所帮助。 :)