0

我正在尝试使用 (F)Lex 分析为 AWK 源代码构建扫描仪。我已经能够识别 AWK keyworkds、注释、字符串文字和数字,但是我被困在如何生成正则表达式以匹配变量实例名称,因为它们是非常动态的。

有人可以帮我开发一个匹配 AWK 变量的正则表达式。 http://pubs.opengroup.org/onlinepubs/009695399/utilities/awk.html提供了 AWK 语言的定义。

变量必须以字母开头,但可以是字母数字,不考虑大小写。唯一可以使用的特殊字符是下划线(“_”)。抱歉,我对 REGEX 不是很熟悉,更不用说 FLEX 的正则表达式了。

感谢您的帮助。

4

1 回答 1

1
[a-zA-Z_][a-zA-Z_0-9]*

以字母或下划线开头,后跟零个或多个字母数字或下划线。

特殊情况是字段,前缀为$

$0
$1

并且

$NF
$i

你必须决定如何处理这些问题。

于 2012-09-24T15:02:17.443 回答