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

作者:小菜 更新时间: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的变形写法不被替换)

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

暗物质的作用是什么,解决大爆炸理论中的不自洽性

相信对于天文学比较好奇的朋友们都知道暗物质,暗物质是什么呢?简单来说就是宇宙中人们看不见的一种物质,也有人说是科学家们设想出来为了“填坑”的,因为暗物质捕鱼电磁产生作用,那么暗物质的作用是什么呢?一、暗物质是什么要想了解暗物质的作用的话,首先还是要来了解一下暗物质是什么,要了解暗物质,需要先从宇宙说起。

宇宙是由什么组成的?你可能会想到星球、尘埃以及广阔无垠的空间。

但是这些只是人类对于宇宙组成所理解的一小部分,我们可以从三个部分来概括宇宙的组成部分:正常物质,暗物质,还有暗能量。

正常物质只占宇宙所有能量的4%,暗物质占26%,而余下的70%左右的宇宙能量则都是暗能量。

虽然暗物质在整体宇宙能量中所占的比重很大,但现在却还不知道它由什么组成,未知大于已知。

正常的物质,包括了中子、质子、电子、中微子以及其他粒子。

而暗物质,只知道它是一种新的、不发光、不在人们现在所理解范畴内的物质。

比起宇宙全景图还要更为神奇,暗物质的作用又是什么呢?二、暗物质的作用暗物质的作用是什么呢?暗物质的存在可以解决大爆炸理论中的不自洽性,对结构形成也非常地关键。

暗物质很有可能是一种 或几种粒子物理标准模型以外的新粒子所构成。

对暗物质 和暗能量的研究是现代宇宙学和粒子物理的主要课题。

简单来说,暗物质就是科学家设想的用来填坑的,填的是许多无法解释的天文现象。

1933年瑞士物理学家弗里茨-兹威基 Fritz Zwichy区别用两种方法来计算后发座宇宙岛团 距离太阳系大约3.2亿光年的质量,一是“根据各宇宙岛运动速度来计算其质量”,二是“根据各宇宙岛内的太阳亮度来计算其质量”。

但前者所得质量是后者的400倍。

为解释这一矛盾,他提出宇宙岛中存在“无法看到的质量”。

而这个质量就是暗物质的质量。

海洋中的恐怖物种,看看你有没有见到过?

神奇的海洋中,恐怖物种有许多海洋当作地球占据面积最多的地方,对于人类来说是非常神奇的,毕竟有大多数的人都是没有见过海洋。

其中还要最深的地方可以达到1万多米。

就是我们用人类的力量去不到的家园,在这个海洋家园当中有着很多强悍的物种,那我们来看一看有哪些是我们在平时生活当中根本见不到的强悍物种。

海洋中的隐形物种在海洋当中有着一种隐形的物种,它的浑身都是透明的,要是在海水当中不仔细看,肯定是发现不了。

这种物种的名字叫12,它的外形就像是一片柳树叶儿一样。

不管是身体还是里面的骨头都是透明的,只有眼睛的部分有一点发黑,在没有光线的时候,柳叶鳗根本看不到,在有一点光线的时候,柳叶鳗就像是一条丝带一样,这在海洋当中扭动。

柳叶鳗的捕食能力柳叶鳗长成这样可以大大幸免他们被其他动物给捕食。

而且他们也可以更好的隐藏自己,他们平时都是欢欢躲藏在水下休息,然后再到了夜晚的时候,一旦遇到一些小鱼小虾在他们面前经过,他就会毫不犹豫的张口直接吃掉,而这些被吃掉的小鱼小虾进入到他们身体之后也是会变成透明,而在柳叶鳗长得越来越大之后,他身体里面的黑色素也越来越多,逐渐就会变成黑色的样子。

并不是,永远都是透明。

柳叶鳗的营养价值柳叶鳗别看他们是生活在深海当中,可是也没有能够躲过被人类捕捞的命运,柳叶鳗有着很丰富的营养价值,不过因为捕捞难度比较高,价格也比较高,导致市场并不是巨大。

加入收藏
               

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

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录