如何使用 python re 来描述这个?

How to describe this using python re?

我正在创建深奥的编程语言,我想实现这个结构来打印文本:

   !(some-text)

此结构必须在括号中写入文本并以 ).

结尾

但由于某种原因,这个结构只有在找到换行符时才会结束。我认为它发生是因为点匹配除 \n 之外的任何符号。我尝试使用 (?!...) 创建条件,但这也不起作用。最终我不知道如何匹配没有 \n).

的所有符号

下面我附上了令牌的完整代码 table 以便您发现其中的错误并提出修复它们的方法。 在此先感谢您的帮助!

token_table = [
(r'[ \t\n]+', None),
(r'!\((?!\)).*\)', 'PRINTSTR'), # This is not working
(r'[-]?[0-9]+', 'INT'),
(r'(?!!|\?|\(|\)|:|<|>|\+).*', None),
(r'!', 'PASS'),
(r'\?', 'IF'),
(r'\(', 'LPAR'),
(r'\)', 'RPAR'),
(r'>', 'INPUT'),
(r'<', 'PRINT'),
(r':', 'GOTO'),
(r'\+', 'ADD'), ]

不要使用.,使用[^)]匹配除)以外的任何字符。这将包括换行符。

(r'!\([^)]*\)', 'PRINTSTR')