免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7198 | 回复: 7
打印 上一主题 下一主题

请教pattern:匹配一串输入中第一个以a开头,以b结尾的英文单词 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-10-11 00:08 |只看该作者 |倒序浏览
我学正则表达式不久,遇到个问题请教大家,问题如题!
我写了个,就是不对:
/.*\s(^a\wb$)\s.*/

请帮忙指正,谢谢!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2005-10-11 02:58 |只看该作者

请教pattern:匹配一串输入中第一个以a开头,以b结尾的英文单词

/\<^a.*b$\>/

论坛徽章:
0
3 [报告]
发表于 2005-10-11 13:23 |只看该作者

请教pattern:匹配一串输入中第一个以a开头,以b结尾的英文单词

/\<^a[[]]*b$\>/

论坛徽章:
0
4 [报告]
发表于 2005-10-11 14:27 |只看该作者

请教pattern:匹配一串输入中第一个以a开头,以b结尾的英文单词

单词有三种存在方式 行首 行中 行尾

单词前后的符号可能有^ 空格 TAB , !.  $ 等符号,所以根据你的文件中可能出现在单词前后的所有符号才有可能完全匹配单词吧?

记得在哪本书上看到过,不过已经完全忘记了。。

论坛徽章:
0
5 [报告]
发表于 2005-10-11 21:09 |只看该作者

请教pattern:匹配一串输入中第一个以a开头,以b结尾的英文单词

sco 的 sed和awk 都不支持正则 \< \> 那该怎么办呢
单词出现在行首和行中都好办,就是处于行尾偶就不知道该如何做了

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2005-10-11 22:31 |只看该作者

请教pattern:匹配一串输入中第一个以a开头,以b结尾的英文单词

原帖由 "styr" 发表:
sco 的 sed和awk 都不支持正则 \< \> 那该怎么办呢
单词出现在行首和行中都好办,就是处于行尾偶就不知道该如何做了

用perl或者下一个GNU的sed/awk

论坛徽章:
0
7 [报告]
发表于 2005-10-12 00:55 |只看该作者

请教pattern:匹配一串输入中第一个以a开头,以b结尾的英文单词

原帖由 "寂寞烈火" 发表:

用perl或者下一个GNU的sed/awk


来个awk的

  1. awk '{for(i=1;i<=NF;i++){
  2.         if(substr($i,1,1)=="a")
  3.         {
  4.                 for(j=length($i);j>=1;j--)
  5.                 {
  6.                         if($i~/[^a-zA-Z]/)
  7.                         {
  8.                                 continue;
  9.                         }
  10.                         if(substr($i,length($i))=="b"){print NR,$i;break;}
  11.                         else
  12.                                 break;
  13.                 }
  14.         }
  15. }}'
复制代码

论坛徽章:
0
8 [报告]
发表于 2005-10-12 11:09 |只看该作者

请教pattern:匹配一串输入中第一个以a开头,以b结尾的英文单词

唉,又回到老问题了,俺不会用用perl,也不敢装prel和GNU的sed/awk
在局里的服务器是不准自行安装这些的。唉。。。。。。。。。。。。。

受wmjie 兄的启发,这样做了个awk也能实现找到a开头b结尾的词

  1. awk '{for (i=1;i<=NF;i++) if ((substr($i,1,1)=="a") && (substr($i,length($i))=="b")) print $i}'
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP