2024-04-20 07:37:32 发布
网友
我在ANTLR中有一个单行定义,用于输入字符串中的错误字符(制表符和单引号),例如 字符错误:'''*['\t]*''{raise CharError(self.text文件)}; 我的测试输入是“你好,我叫Dummy” 我得到输出“字符串中的字符错误:”你好,我的名字是哑巴”
但是对输出的要求必须是从字符串的开始到结束 错误字符,不包括前导双引号。(例如,上面示例的输出应该是:hello,my name') 有人能帮我吗?你知道吗
据我所知,您不想更改规则匹配的内容,只想在错误消息中显示匹配的某个子字符串。因此,您可以只使用Python的字符串功能:
raise CharError(self.text[1:self.text.index("'")+1])
这里我们使用1作为起始索引来去掉",并将+1添加到'的索引中,以将'包含在子字符串中。你知道吗
"
+1
'
据我所知,您不想更改规则匹配的内容,只想在错误消息中显示匹配的某个子字符串。因此,您可以只使用Python的字符串功能:
这里我们使用1作为起始索引来去掉
"
,并将+1
添加到'
的索引中,以将'
包含在子字符串中。你知道吗相关问题 更多 >
编程相关推荐