读书人

正则表达式的贪婪婚配

发布时间: 2012-07-03 13:37:43 作者: rapoo

正则表达式的贪婪匹配

正则表达式的贪婪婚配?正则表达式的贪婪匹配2009-07-05 09:26:03标签:sed?正则?shell?贪婪?awk原创作品,允许转载,转载时请务必以超链接形式标明文章?原始出处?、作者信息和本声明。否则将追究法律责任。http://tanzj.blog.51cto.com/802764/174233str="uid=100(guest) gid=100(others) groups=10(users),11(floppy)"guest??others??users??floppy正则表达式是有贪婪性的,它总是与最长的可能长度匹配,而且越是排在前面的通配符优先级越高。?#!/bin/bashstra="uid=100(guest) gid=100(others) groups=10(users),11(floppy)"strb="uid=100(guest)gid=100(others)groups=10(users),11(floppy)"?#floppyecho $stra |sed 's/.*(\(.*\)).*/\1/'echo $stra |awk '{a=substr($3,length($3)-6,6); b=substr($3,1,6); c=length($3);print a,b,c}'#guestecho $stra |sed 's/[^(]*(\([^)]*\)).*/\1/'echo $stra |awk '{a=gensub(/.*\((.*)\)/,"\\1","g",$1);print a}'#othersecho $stra |sed 's/users\|others/***&***/g'echo $stra |sed 's/[^(]*([^)]*)[^(]*(\([^)]*\)).*/\1/'echo $stra |sed 's/[^ ]*[ ][^(]*(\([^)]*\)).*/\1/'#usersecho $stra |sed 's/.*[ ][^(]*(\([^)]*\)).*/\1/'echo $stra |awk '{a=gensub(/[^(]*\(([^)]*).*/,"\\1","g",$3);print a}'?时间一久自己都看的晕忽忽的。。。记下来用的时候翻翻

本文出自 “SimpleWorldSimpleLife” 博客,请务必保留此出处http://tanzj.blog.51cto.com/802764/174233

读书人网 >其他数据库

热点推荐