awk 中的“非法主”是什么?

303*_*303 5 regex awk

awk 给了我以下错误:

awk: illegal primary in regular expression (?<=\>)(.*?)(?=\<) at <=\>)(.*?)(?=\<)
source line number 10 source file transpile.awk
context is
    match($0, >>>  /(?<=\>)(.*?)(?=\<)/) <<< 
Run Code Online (Sandbox Code Playgroud)

但什么“非法小学”?

mel*_*ene 6

用 awk 的话说,“主要”是正则表达式的基本单元。

正则表达式由(1 个或多个)分支的替代组成。每个分支由(0 个或多个)主分支的串联组成。

主要字符可以是普通字符(例如a)、转义特殊字符(例如\*)、字符类 ( [...])、点 ( .)、锚点 (^$) 或带括号的子表达式 ( (...))。其中大多数也可以有量词 ( ?, +, *)。

您的正则表达式的问题是(?<=\>)解析为(第一个,它启动一个子组。下一个项目需要成为主要项目。?不是有效的主要,因此您会收到错误。

awk 不支持前瞻或后瞻。