正则表达式多行匹配 如何用正则表达式提取指定位数内容?
如何用正则表达式提取指定位数内容?原理:当匹配需要匹配第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]。。。第三场比赛
…
以此类推