一个正则表达式替换问题 请教... 急...
现有这样一段文本:
(RAB.RelReqPsPerCell+IU.NbrRabPsRelIuConnPerCell-RAB.RelReqPsPerCell.40-RAB.RelReqPsPerCell.16-IU.NbrRabPsRelIuConnPerCell.40-IU.NbrRabPsRelIuConnPerCell.16)
我要替换其中的
RAB.RelReqPsPerCell 假如替换成%%%%% (注:RAB.RelReqPsPerCell.40及RAB.RelReqPsPerCell.16不替换!)
平且别把RAB.RelReqPsPerCell后面的+号替换了
正确替换后的文本
(%%%%%+IU.NbrRabPsRelIuConnPerCell-RAB.RelReqPsPerCell.40-RAB.RelReqPsPerCell.16-IU.NbrRabPsRelIuConnPerCell.40-IU.NbrRabPsRelIuConnPerCell.16)
自己写了几个表达式都不达到效果
如
(%%%%%IU.NbrRabPsRelIuConnPerCell-RAB.RelReqPsPerCell.40-RAB.RelReqPsPerCell.16-IU.NbrRabPsRelIuConnPerCell.40-IU.NbrRabPsRelIuConnPerCell.16)-- 加号没了
(%%%%%+IU.NbrRabPsRelIuConnPerCell-%%%%%.40-%%%%%.16-IU.NbrRabPsRelIuConnPerCell.40-IU.NbrRabPsRelIuConnPerCell.16) -- 替换多了
这些都是错的..
请教如何写正则才可以达到我说的那个效果...
------解决方案--------------------
或者这个
C# code
@"RAB\.RelReqPsPerCell(?=[+\-*/()])"
------解决方案--------------------
C# code
string str = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\test.txt", System.Text.Encoding.GetEncoding("gb2312"));
//string str = TextBox2.Text;
Regex reg = new Regex(@"(?is).+?\+");
str = reg.Replace(str, "%%%%%+");
Response.Write(str);
//%%%%%+IU.NbrRabPsRelIuConnPerCell-RAB.RelReqPsPerCell.40-RAB.RelReqPsPerCell.16-IU.NbrRabPsRelIuConnPerCell.40-IU.NbrRabPsRelIuConnPerCell.16)