正则表达式如何排除一个词?

xieyueqing 2009-06-22 05:13:09
例如 (?<item1>[^<]+) 中排除 < ,如果我要排除的是一个词呢,两个字符以上,该怎么写?

如要排除 div ,(?<item1>[^div]+) 应该是不对的吧?

我现在的方法是把字符串中的div 替换成一个字如 @,然后写成 (?<item1>[^@]+)
...全文
548 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
柳晛 2009-06-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 HDNGO 的回复:]
引用 3 楼 xieyueqing 的回复:
正则表达式 太晦涩了,看不明白 ... 我一般是找个例子



其实,正则的条理性非常的强~
[/Quote]

嗯,要是有正则的编辑器就好了,最起码用颜色区分开。
wackyboy 2009-06-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 newdigitime 的回复:]
引用 9 楼 windinwing 的回复:
看错啦,2楼的是正确的


2楼不太妥当.

正确的要写为
(?!=div)

而且即使这样也不符合楼主要求,
这个只能判定 需要匹配的字符串的后面不包括"div"
[/Quote]
11楼的太不妥当
你这句话是什么意思啊?
(?=exp)是后面紧跟着 (?!exp)是后面不紧跟着 (?!=div) 是后面不紧跟着“=div”这个字符串? 还是想表达别的意思?
newdigitime 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 windinwing 的回复:]
看错啦,2楼的是正确的
[/Quote]
2楼不太妥当.

正确的要写为
(?!=div)

而且即使这样也不符合楼主要求,
这个只能判定 需要匹配的字符串的后面不包括"div"
-过客- 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 HDNGO 的回复:]
其实,正则的条理性非常的强~
[/Quote]

同意~
windinwing 2009-06-22
  • 打赏
  • 举报
回复
看错啦,2楼的是正确的
yaoting123456789_ 2009-06-22
  • 打赏
  • 举报
回复
学习中
windinwing 2009-06-22
  • 打赏
  • 举报
回复
2楼那个你确定可以??
不等于div 用正则可以表示为 (?:[^d]|d[^i]|di[^y])
xieyueqing 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 HDNGO 的回复:]
引用 3 楼 xieyueqing 的回复:
正则表达式 太晦涩了,看不明白 ... 我一般是找个例子



其实,正则的条理性非常的强~
[/Quote]
....
HDNGO 2009-06-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xieyueqing 的回复:]
正则表达式 太晦涩了,看不明白 ... 我一般是找个例子
[/Quote]

其实,正则的条理性非常的强~
xieyueqing 2009-06-22
  • 打赏
  • 举报
回复
正则表达式 太晦涩了,看不明白 ... 我一般是找个例子
HDNGO 2009-06-22
  • 打赏
  • 举报
回复
(?!div)
newdigitime 2009-06-22
  • 打赏
  • 举报
回复
你的办法已不错了.
正则没有排除一个"词"的直接办法.
可以用两次正则,其中一次是匹配你要排除的词.

如果要排除准备匹配的字符串的前端和末端没有某个词是可以的.



110,572

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧