文章中的特殊词语使用正则替换屏蔽

作者:小菜 更新时间:2025-03-16 点击数:
简介:使用正则替换文章屏蔽词,1500个屏蔽词,6KB的文章,替换用时1毫秒 使用正则替换文章屏蔽词,这个功能很早就用到了,由于使用过程中并未感觉到什么压力,所以一直

【菜科解读】

使用正则替换文章屏蔽词,1500个屏蔽词,6KB的文章,替换用时1毫秒 使用正则替换文章屏蔽词,这个功能很早就用到了,由于使用过程中并未感觉到什么压力,所以一直没有对其性能进行优化。

今天应leader要求,对性能进行了一下测试并作出改进,发现改进后的性能提高了100多倍!原来替换一篇文章用时130多毫秒,现在只需要不到1毫秒的时间!前后主要差别在于正则的生成和循环文章内容的次数。

下边贴出主要代码供大家参考。

view sourceprint?private static readonly Regex reg_b = new Regex(@"\B", RegexOptions.Compiled); private static readonly Regex reg_en = new Regex(@"[a-zA-Z]+", RegexOptions.Compiled); private static readonly Regex reg_num = new Regex(@"^[\-\.\s\d]+$", RegexOptions.Compiled); private static Regex reg_word = null; //组合所有屏蔽词的正则 private static Regex GetRegex() { if (reg_word == null) { reg_word = new Regex(GetPattern(), RegexOptions.Compiled | RegexOptions.IgnoreCase); } return reg_word; } /// /// 检查输入内容是否包含脏词(包含返回true) /// public static bool HasBlockWords(string raw) { return GetRegex().Match(raw).Success; } /// /// 脏词替换成*号 /// public static string WordsFilter(string raw) { return GetRegex().Replace(raw, "***"); } /// /// 获取内容中含有的脏词 /// public static IEnumerable GetBlockWords(string raw) { foreach (Match mat in reg_word.Matches(raw)) { yield return (mat.Value); } } private static string GetPattern() { StringBuilder patt = new StringBuilder(); string s; foreach (string word in GetBlockWords()) { if (word.Length == 0) continue; if (word.Length == 1) { patt.AppendFormat("|({0})", word); } else if (reg_num.IsMatch(word)) { patt.AppendFormat("|({0})", word); } else if (reg_en.IsMatch(word)) { s = reg_b.Replace(word, @"(?:[^a-zA-Z]{0,3})"); patt.AppendFormat("|({0})", s); } else { s = reg_b.Replace(word, @"(?:[^\u4e00-\u9fa5]{0,3})"); patt.AppendFormat("|({0})", s); } } if (patt.Length > 0) { patt.Remove(0, 1); } return patt.ToString(); } /// /// 获取所有脏词 /// public static string[] GetBlockWords() { return new string[]{"国民党","fuck","110"};//这里应该从数据库获取 } 这个程序可替换以下内容:国民党国-民-党国o民o党fuckf.u.c.k110(110的变形写法不被替换)

文章,中的,特殊,词语,使用,正则,替换,屏蔽,

《后宫·甄嬛传》中的浣碧真有历史原型吗?是清朝的哪个人

在《后宫·传》中,有一位比较经典的形象,她是甄嬛同父异母的妹妹,因生母是罪臣之女,不得不以甄嬛的义妹示人,后来嫁给了果郡礼为侧福晋,在允礼被赐死后撞棺而死。

通过查阅史料,发现历史上的允礼确实有一位姓的福晋,她就是果亲王允礼嫡福晋钮祜禄氏,即浣碧的历史原型。

从出身来看,允礼嫡福晋钮祜禄氏绝对是一种皇后级别的标准了,她来自钮祜禄家族中最显赫的弘毅公一门,祖父是初年的辅政大臣、太师,父亲阿灵阿是遏必隆第七子,同时也是允礼的老师,姑姑则是康熙第二任妻子孝昭皇后。

而且,从母系来看,钮祜禄氏也是无与伦比的。

钮祜禄氏的母亲是(帝生母)的亲妹妹乌雅氏,也就是说,雍正帝是钮祜禄氏的表哥。

不过,他们一家却也有派系之别,因为钮祜禄氏的父亲阿灵阿属于八爷党,而钮祜禄氏的丈夫允礼则属于四爷党。

钮祜禄氏的父亲阿灵阿是康熙非常器重的一位大臣,他于康熙四十年被提拔为领侍卫内大臣,后又兼任理藩院尚书,统领火器营。

阿灵阿曾在康熙四十七年举荐八阿哥为皇太子,受到了四阿哥(雍正帝)的忌恨,雍正帝继位后,虽然阿灵阿已经去世,但雍正帝仍然没有放过他们一家,在他的墓碑上面刻上了“不臣不弟暴悍贪庸阿灵阿之墓”,并将阿灵阿儿子阿尔松阿的家产籍没,妻子发往为奴。

不过,雍正帝对阿灵阿的女婿,即康熙第十七子允礼却非常器重,雍正元年即将允礼封为果郡王,雍正六年晋封为果亲王。

雍正八年怡亲王允祥去世,允礼接替了允祥的位子,总管户部三库,并掌管宗人府事务,成为的“首辅”式人物,这一切都说明了允礼其实一直一个隐藏在暗处的“四爷党”。

关于允礼的福晋,史料记载他有两位福晋,嫡福晋即阿灵阿之女钮祜禄氏,侧福晋是达色之女,不过史料却显示只有侧福晋孟氏给允礼生下了一子一女,并都早夭,难道允礼与嫡福晋钮祜禄氏的夫妻关系不好吗? 其实并不是这样的。

允礼生于康熙三十六年,他与钮祜禄氏成婚大概在康熙五十年左右,然而,史料显示钮祜禄氏在雍正七年做了一年果亲王嫡妃后便去世了,估计年龄应该在30岁左右。

因此,允礼嫡福晋钮祜禄氏很有可能身体一直不是很好,这也在一定程度上影响到了她的生育。

而且,在嫡福晋钮祜禄氏去世之后,侧福晋孟氏才给允礼生下了一子一女,这恰好说明允礼对钮祜禄氏是十分专情的,只可惜天妒红颜,这位亲王福晋却只活了30岁,不得不令人叹惋呀! 随机文章北伐失败!诸葛亮临终前叹:当初没杀他就好了!美国NASA承认外星人存在,NASA的秘密档案公布外星飞行器北极是陆地还是海洋,是被冰川覆盖的海洋(生活有900种植物)已灭绝的十大巨怪图片,碳龟头比足球场还大/身子是普通汽车的2倍流川枫和樱木花道的关系,情敌冤家也是朋友/最后的击掌是最完美的结局

北欧神话中的创世神有着什么来历?结局到底有多惨

世界上每一个民族都有自己的创世神话,比如中国的创世神是,他从混沌之中开天辟地,死后身体又化作了山川大河、日月星辰;圣经中的创世神是耶和华,他创造了天地万物、苍穹宇宙,同时也是一切宇宙事物的管理者;印度的创世神是大,他是中的创造之神,但是他创造的主要是文字与文明,兴起之后,将其吸纳为佛教的护法神,来保佑人间的富贵吉祥;希腊的创世神是混沌之神卡俄斯,诞生于宇宙之初的一片茫茫无际的空间之中,也被称呼为原始神。

那么朋友们知道中的创世神是谁吗? 与其他文明发源地一样,北欧神话中也有自己的创世神,而且有趣的是,关于创世神话的传说在前半部分几乎与中国的一样,只不过中间多了一头母牛,结局也要比中国神话开天辟地中的盘古更悲情。

北欧神话中的创世神名字叫做"伊米尔",是诞生混沌之初的巨人,也是所有巨人的祖先。

那个时候世界还处于一片混沌时代,没有大海、没有天空、没有大地,整个空间只有一道深深开裂的鸿沟,名字叫做"金恩加之沟"(不知道是不是劈出来的那条沟,感觉应该是的!)。

金恩加之沟的北方是一片,只有一道巨大的泉水从尼夫尔海姆最深邃的黑暗中奔涌而出,形成了一条又一条溪流。

溪流中含有剧毒,在金恩加之沟旁慢慢的堆积出许多冰丘。

南方则是到处喷射火焰的国度,飞溅的火星不断的落在冰丘之上,就这样历经千年万年,终于孕育出了一个巨大的生灵,他就是伊米尔。

孤单的伊米尔一个人在混沌中徘徊,很久之后遇到了同样在热浪与冰丘中诞生的一条母牛"奥杜姆布拉"。

母牛身下流淌着四股乳汁,形成了四条源源不绝的白色河流,而巨人伊米尔就以乳汁为食物,母牛则以冰雪为生,在整个混沌的黑暗当中,只有这两个巨大的生灵,他们一同度过了千万年,在母牛奥杜姆布拉的哺育下,伊米尔变得越来越强壮。

突然有一天,从他的双臂下面长出了一男一女两个巨人,两人后来结为夫妻,生下了许多巨人子孙。

伊米尔德双足下面也长出了一个巨人,但是这个巨人却拥有六个头,性格也非常邪恶,生下的后代虽然体型庞大,却愚笨得如同野兽。

在随后的岁月里,伊米尔又接连不断地生下了很多巨人,他的直系后代被称呼为"冰霜巨人",是这个巨人世界的主人,也是世界秩序的破坏者和神的敌人。

与此同时,母牛奥杜姆布拉也生下了众神始祖布里,他是一个性格温和高大强壮的男人。

布里后来又生下了儿子博尔,博尔又生下了儿子奥丁、威利、维三个儿子。

随着奥丁几人长大之后,开始不再满意这位洪荒世界的统治者,于是变向巨人始祖伊米尔发动了攻击,并且顺利地杀掉了这个庞然大物。

伊米尔倒地之后,从伤口中流出无尽的血液,形成了巨大的红色河流,从而造成了世界上第一场大洪水,将生活中伊米尔身边的冰霜巨人全部淹没在大洪水中! 有很多人觉得俄罗斯人野蛮,桀骜不驯,小编以为跟他们从小接触的文化有很大的关系,就连创世神话都带着几分血腥的痕迹,也是其他民族很难模仿的一大根源! 随机文章【海狮欧洲史】序:欧洲史上最瞎的第一场暗杀中国093G型攻击核潜艇,美专家眼中最恐怖的航母杀手尼古拉特斯拉的惊世预言,精准预测第一次世界大战的开始结束时间股市鳄鱼法则的意思,及时止损才能避免99%的亏损揭秘盗墓人有什么忌讳,点蜡烛预防鬼吹灯/带黑驴蹄子辟邪

加入收藏
               

文章中的特殊词语使用正则替换屏蔽

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录