正则表达式[^] 的问题

suxiaoguai 2008-06-22 06:40:04
[^xyz] 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
我用[^td]去匹配 tdtstdtrdd
返回的结果是以 t或者d单独去匹配的结果。

能否做到把 td 当作一个整体进行配合的效果呢?
...全文
106 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
财富实验室 2008-06-22
  • 打赏
  • 举报
回复
t[^d]|[^t]d
gohan 2008-06-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 suxiaoguai 的帖子:]
[^xyz] 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。
我用[^td]去匹配 tdtstdtrdd
返回的结果是以 t或者d单独去匹配的结果。

能否做到把 td 当作一个整体进行配合的效果呢?
[/Quote]

我不知道你的需求是什么?^符号是不支持一个字符串的,如果只想在tdtstdtrdd匹配ts和trdd两个字符串,可以直接用regex的split方法,
    Regex          regex = new Regex(@"td", options);
string input = @"tdtstdtrdd";
string[] results = regex.Split(input);

请说清楚你想匹配的结果,:),good luck
suxiaoguai 2008-06-22
  • 打赏
  • 举报
回复
hackztx
我需要匹配是不包含td的内容,所以用的是 [^]


wuyi8808

你提供的配合不到任何内容
wuyi8808 2008-06-22
  • 打赏
  • 举报
回复
"(?!td)"
hackztx 2008-06-22
  • 打赏
  • 举报
回复
多个字符的整体匹配根本就不应该用[]

直接td就可以了!

110,533

社区成员

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

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

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