正则表达式多行匹配 如何用正则表达式提取指定位数内容?

如何用正则表达式提取指定位数内容?原理:当匹配需要匹配第n个数字时,最后一个数字就是结果。提取第四个数字(?)?:D[^D]){3}(D)。*{3}of 3=4-1,提取第二个数字:(?:D[^D])

如何用正则表达式提取指定位数内容?

原理:当匹配需要匹配第n个数字时,最后一个数字就是结果。提取第四个数字(?)?:D[^D]){3}(D)。*{3}of 3=4-1,提取第二个数字:(?:D[^D]){1}(D)。*{1}的1=2-1,如果以上数值提取是直线匹配。

例如,以下示例myexample.txt文件

123456789-p491666#########执行以下awk命令,自定义内部变量subar捕获完全匹配和子匹配的内容,

################################## myexample.txt文件

太棒了

subar[0]是整条正则表达式(整行)匹配的内容

subar[1]是第一个括号中匹配的内容,即第一个子匹配;

如果正则表达式中有多对括号,相应的下标用于subar变量以获得子匹配;

subar[2]。。。第二个子匹配

斯巴鲁[3]。。。第三场比赛

以此类推