C# 正则表达式替换字符串求助
在一个字符串里,把0x开头,后面紧接着至少6个数字(0-9,A-F),前面加上__,如
0x000000 替换成 __0x000000
0x111111 替换成 __0x111111
而0x22222 则不替换,怎么实现? --------------------编程问答-------------------- -。-!
为什么。。0x22222 不替换。。
那哪些是需要替换。。哪些不需要啊。 --------------------编程问答-------------------- 哦。。
0x 后面是5个数不替换是吧。。?只替换6个数的。。? --------------------编程问答--------------------
--------------------编程问答-------------------- 0x([0-9A-F]{6}) --------------------编程问答-------------------- Regex reg=new Regex("(0x[0-9A-F]{6,})"); --------------------编程问答-------------------- 意思是后面有5位数字的不替换。只有6位数字的替换
void Main()
{
var list=new string[]{"0x000000",
"0x111111",
"0x22222",};
Regex reg=new Regex("(0x[0-9a-zA-Z]{6,})");
foreach(var str in list)
{
Console.WriteLine(string.Format("替换前:{0}\t替换后:{1}",str,reg.Replace(str,"__$1")));
}
/*
替换前:0x000000 替换后:__0x000000
替换前:0x111111 替换后:__0x111111
替换前:0x22222 替换后:0x22222
*/
}
补充:.NET技术 , C#