2

所以我在 FORTRAN 中有一些看起来像这样的行。

call const (hsno, npoi*nsnolay, 0.0)

我一直在使用正则表达式和 python 字符串函数来解析这段代码并编辑一些变量。然而,像上面这样的行给了我一个问题,因为字符串不会在括号上分裂。

我希望它是:

[(,hsno, npoit, * nsnolay, 0.0, )]. 

然而它的作用是

[(hsno,...]

如果后面跟着一个单词和一个逗号,我希望它在括号上分开

有没有一种简单的方法可以做到这一点。

4

1 回答 1

7

匹配的括号不是常规语言。这意味着它们不能被数学意义上的正则表达式识别。大多数编程语言都添加了额外的特性来使正则表达式更强大,但是做这样的事情仍然很痛苦。

我建议您使用适当的解析器。我喜欢 Python 的一个叫 Ply。

于 2013-04-21T21:21:35.780 回答