用\bwasd\b 在正则表达式测试工具中可以匹配出下面字段中的【wasd】放到程序中就匹配不出来了是什么原因啊求解答,
<br />1P:<br />wasd移动<br />JKLUIO攻击net程序
string operation ="<br />1P:<br />wasd移动<br />JKLUIO攻击";
 operation = Regex.Replace(operation, @"\bwasd\b", "<span class=\"ico_c_wasd\">&nbsp;&nbsp;&nbsp;&nbsp;</span>", RegexOptions.IgnoreCase);就是匹配不出来替换不了怎么回事net正则表达式

解决方案 »

  1.   

    因为在C#中\w包含汉字,所以“wasd移动”是一个单词,中间没有边界。
    解决办法:
    string operation ="<br />1P:<br />wasd移动<br />JKLUIO攻击";
    operation = Regex.Replace(operation, @"([^a-z])wasd([^a-z])", "$1<span class=\"ico_c_wasd\">&nbsp;&nbsp;&nbsp;&nbsp;</span>$2", RegexOptions.IgnoreCase);
      

  2.   

    这样写   string operation = "<br />1P:<br />wasd移动<br />JKLUIO攻击";
                operation = Regex.Replace(operation, @"(?is)(?<=[^a-z]|^)wasd(?=[^a-z]|$)", "<span class=\"ico_c_wasd\">&nbsp;&nbsp;&nbsp;&nbsp;</span>");
              
      

  3.   

    恩,可以 ,还有个问题想请教下
    (?<!家|<|\.)\b[a-zA-Z\d]\b(?!>) 在测试工具中可以匹配单个字母和单个数字但在程序中有的可以匹配有的匹配不出来就是不能匹配完全,像下面的红色的就匹配不出来,但测试工具上都能匹配出来,也麻烦解决下吧
    <div class="game-info-box"><strong>操作指南</strong>:<br />1P:<br />wasd移动<br />JKLUIO攻击;<br />2P:<br />arrows制移动<br />1~<br />6攻击<br />玩家1:键盘AD键控制人物移动,J键攻击,K键跳跃,L键储气,UIO键技能;<br />组合键:AA/DD 冲刺,S+A+J 气功,DD+J/AA+J 冲刺攻击;<br />玩家2:方向键←→控制人物移动,数字键1攻击,2跳跃,3储气,456技能;<br />组合键:→→/←← 冲刺,↓→+1 气功,→→+1/←←+1 冲刺攻击。<br />提示:气功需储气才能进行释放哦。 </div><div class="game-info-box"><strong>游戏介绍</strong>:<br /><a href="http://game.qq.cc/149874.html" target="_blank">龙珠激斗1.8</a>加入更多人物和关卡,特殊人物能飞空,快进入游戏开始飞空激斗,快去夺得天下第一武术大会冠军。告诉你一个隐藏技能S+A+J 气功,气功需储气才能进行释放哦,人物要后面的人物才可以释放气功哦。更多射击小游戏尽在QQ.CC。<br /></div>
      

  4.   

    string pattern= @"(?is)(?<!\d)\d(?=\D|$)|(?<![a-z])[a-z](?=[^a-z]|$)";