Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
253 views
in Technique[技术] by (71.8m points)

awk正则表达式

echo "  <div>  xy " | awk  '{x=gensub("(<[a-z]+>)","\1","g");print x}'
  <div>  xy 
  
  为何结果不是  <div>  ?

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

这是因为=gensub("(<[a-z]+>)","\1","g")这部分,实际的含义是,将匹配到<[a-z]+>的部分替换为其本身,也就是说,匹配到了<div>,然后将其替换为<div>,然后返回替换后的字符串,这里注意的是替换操作是
在原字符串上替换匹配到的部分 哦,所以结果就是没有变化的了。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...