最后一个C#正则问题了,搞了半天搞不对啊。

liyifei123 2013-02-05 05:05:06
string str1 = "1";
string str2 = "2";
string str3 = "3";
string str4 = "4";
string str = "1X23Y4";
string pattern = string.Format(@"(?<={0})(((?!{1}).)*)(?={1}{2}(((?!{3}).)*){3})", str1, str2, str3, str4);
str = Regex.Replace(str, pattern, "$3");


如果2-3之间有未知的字符串,这个正则该怎么改改???
...全文
155 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
引用 2 楼 liyifei123 的回复:
引用 1 楼 hjywyj 的回复:string pattern = string.Format(@"(?is)(?<={0})(((?!{1}).)*)(?={1}.*?{2}(((?!{3}).)*){3})", str1, str2, str3, str4); 弱弱的问一句这样出来以后"$3"和"$4"是不是一样的啊?
不一样,$3是3-4之间所有字符 $4是$3的最后一个字符,也就是4前面的那一个字符
  • 打赏
  • 举报
回复
liyifei123 2013-02-05
引用 1 楼 hjywyj 的回复:
string pattern = string.Format(@"(?is)(?<={0})(((?!{1}).)*)(?={1}.*?{2}(((?!{3}).)*){3})", str1, str2, str3, str4);
弱弱的问一句这样出来以后"$3"和"$4"是不是一样的啊?
  • 打赏
  • 举报
回复
string pattern = string.Format(@"(?is)(?<={0})(((?!{1}).)*)(?={1}.*?{2}(((?!{3}).)*){3})", str1, str2, str3, str4);
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2013-02-05 05:05
社区公告

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