问个关于正则表达式的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
inami
帖子: 5
注册时间: 2006-10-29 1:47

问个关于正则表达式的问题

#1

帖子 inami » 2008-09-08 23:26

现在我想匹配所有数字,但是不要包括紧接在字符串abc前的数字,应该怎么写?
heejun
帖子: 60
注册时间: 2006-05-01 12:29
来自: zju

#2

帖子 heejun » 2008-09-10 21:03

(\d+(?!abc))
头像
hellojinjie
帖子: 1150
注册时间: 2007-09-14 21:03
来自: 浙江

#3

帖子 hellojinjie » 2008-09-10 21:39

代码: 全选

(\d+)[^(abc)]?
lz与ls缘份不浅呐阿

ls 潜水两年四个月,只发44贴,今日发帖只为回答lz提问

代码: 全选

(\d+(?!abc))
不过我对楼上的 ?! 有点不太懂,他们表示什么?我写的也能匹配成功吗?
Say hello to everyday!
a0147520
帖子: 147
注册时间: 2007-10-04 15:23

#4

帖子 a0147520 » 2008-09-14 11:10

sed -e 's/[0-9]*abc//g' file
头像
keky
帖子: 231
注册时间: 2007-12-20 15:08
来自: harbin
联系:

Re:

#5

帖子 keky » 2008-09-21 21:41

hellojinjie 写了:

代码: 全选

(\d+)[^(abc)]?
lz与ls缘份不浅呐阿

ls 潜水两年四个月,只发44贴,今日发帖只为回答lz提问

代码: 全选

(\d+(?!abc))
不过我对楼上的 ?! 有点不太懂,他们表示什么?我写的也能匹配成功吗?
难道是贪心匹配。。
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: 问个关于正则表达式的问题

#6

帖子 cnkilior » 2008-09-22 12:05

楼上的表达式不一定所有程序都支持。。。


-------
楼主的匹配太贪了
头像
patrickhe
帖子: 681
注册时间: 2005-07-21 19:13
来自: Peking, China
联系:

Re:

#7

帖子 patrickhe » 2008-09-22 17:08

hellojinjie 写了:

代码: 全选

(\d+)[^(abc)]?
lz与ls缘份不浅呐阿

ls 潜水两年四个月,只发44贴,今日发帖只为回答lz提问

代码: 全选

(\d+(?!abc))
不过我对楼上的 ?! 有点不太懂,他们表示什么?我写的也能匹配成功吗?
(?!) 是 look-behind
yhywl
帖子: 13
注册时间: 2007-01-28 13:52

Re: 问个关于正则表达式的问题

#8

帖子 yhywl » 2008-09-25 17:19

给你个笨方法
先替换,

代码: 全选

s/\dabc//g
然后再匹配数字就行了。。。
回复