Regex Failure - Bug Fixing #2

http://www.codewars.com/kata/55c423ecf847fbcba100002b/train/csharp

Oh no, Timmy's received some hate mail recently but he knows better. Help timmy fix his regex filter so he can be awesome again!

复制代码
using System;
using NUnit.Framework;
System.Text.RegularExpressions

[TestFixture]
public class Tests
{
  [Test]
  public static void FixedTest()
  {
    Assert.AreEqual("You're awesome! timmy!", Kata.filterWords("You're Bad! timmy!"));
    Assert.AreEqual("You're awesome! timmy!", Kata.filterWords("You're MEAN! timmy!"));
    Assert.AreEqual("You're awesome!! timmy!", Kata.filterWords("You're UGLY!! timmy!"));
    Assert.AreEqual("You're awesome! timmy!", Kata.filterWords("You're horrible! timmy!"));
    Assert.AreEqual("You're awesome!! timmy!", Kata.filterWords("You're HiDeOuS!! timmy!"));
    Assert.AreEqual("You're awesomeish!! timmy!", Kata.filterWords("You're Meanish!! timmy!"));
  }
}
复制代码

 

主要是i的用法,

 

i

Use case-insensitive matching.

\b(?i)a(?-i)a\w+\b

"aardvark", "aaaAuto" in "aardvark AAAuto aaaAuto Adam breakfast"

 

复制代码
using System;
using System.Text.RegularExpressions;

public class Kata
{
  public static string filterWords(string phrase)
  {
      string pattern = @"(?i)bad|mean|ugly|horrible|hideous\b";
      string replacement = "awesome";
      Regex rgx = new Regex(pattern);
      return rgx.Replace(phrase, replacement);
  }
}
复制代码

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(281)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2014-12-18 为什么说git比svn好
点击右上角即可分享
微信分享提示