Created
June 28, 2013 05:43
-
-
Save pa001024/5882704 to your computer and use it in GitHub Desktop.
萌百过滤器
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package main | |
| import ( | |
| "fmt" | |
| "regexp" | |
| ) | |
| const ( | |
| TESTDATA = `{{不完整}} | |
| {{人物信息 | |
| |image=吉川千夏 .jpg | |
| |本名=吉川 ちなつ(よしかわ ちなつ) | |
| |别号= | |
| |生日=11月6日 | |
| |血型=AB | |
| |星座=天蝎座 | |
| |年龄=13岁 | |
| |身高=149 | |
| |瞳色=蓝 | |
| |发色=粉 | |
| |声优=大久保瑠美 | |
| |萌点=[[双马尾]]、[[腹黑]]、[[百合]] | |
| |出身地区=日本 | |
| |活动范围=七森中学 | |
| |所属团体=[[娱乐部]] | |
| |相关人士=社團成員:[[赤座灯里]]、[[岁纳京子]]、[[船见结衣]] | |
| }} | |
| '''吉川千夏'''是漫画《[[摇曳百合]]》及其衍生的动画、广播剧、游戏等作品的登场角色。 | |
| ==資料== | |
| *身高:149公分 | |
| *生日:11月6日 | |
| *血型:AB型 | |
| *外觀:留著粉紅色前有覆額齊瀏海之中長髮,後面留長的部份通常綁起來、瞳孔是蓝色的 | |
| *興趣:喜欢船見結衣 | |
| *動畫版聲優:大久保瑠美 | |
| ==解說== | |
| 千夏與燈里同年,故事開始時年紀13歲,本來千夏打算加入茶道社,但卻因因緣際會,而成了[[娛樂部]]的社員之一。 | |
| 千夏[[腹黑|滿腹壞水]],常常謀劃著各種不可告人的事。由於外型像小魔女米拉庫之故,因此[[岁纳京子|京子]]很喜歡她,但千夏覺得京子很煩人;另外,千夏入部後不久,便愛上了結衣,並將結衣視為自己的白馬王子。 | |
| 艺术天分意外地“惊人”,所有艺术品<s>具有类似毕加索的画风</s>但是有着严重的黑暗色彩,几乎需要打马赛克,灯里多半看完直接击倒(硬直,反白等),只有[[姐姐]][[吉川朋子|朋子]]才会给出优秀评价<s>([[奇葩]]的[[妹妹]]总有奇葩的姐姐/哥哥)</s>。此外,按摩技术同样惊人,只有姐姐才会说享受,而灯里就受尽了苦头(整个人憔悴了)。<s>[[赤座灯里|灯里]]是千夏的专用被虐者,被抢初吻,吓死,致残,但灯里还是无怨无悔,果然是好孩子,圣母般的存在</s> | |
| 儘管千夏覺得京子很煩,但有時還是會答應京子的要求,扮成小魔女米拉庫,但千夏卻因比的動作怪異之故,而使得許多小朋友心中的米拉庫形象破滅,像結衣的妹妹真理就曾因此下評語道:「人生真命苦」 | |
| 千夏的頭髮綁起來時,兩旁的馬尾會將球之類的東西給吸入,頭髮解開或千夏自己撥弄時,吸入的東西才會掉出。 | |
| 動畫版第二季最後一集娛樂部與學生會合演的戲劇中曾擔任「腹黑妖精」的角色。 | |
| {{摇曳百合}} | |
| == 外部链接 == | |
| [[分类:日本萌娘]][[分类:摇曳百合]] | |
| [[分类:妹妹]][[分类:腹黑]][[分类:粉发]][[分类:双马尾]]` | |
| ) | |
| var ( | |
| reg_pre = regexp.MustCompile( | |
| `^[\s\S]+?\s== ?.+ ?==\n|` + // 去除第一个区块前的所有内容 替换为空 如果没有任何区块则不会替换 | |
| `{{[\s\S]+?}}|` + // 去除所有{{}}标签 | |
| `\[\[(?:File|分类):[\s\S]+?\]\]|` + // 提取并替换所有WIKI标签(提取图片和分类) | |
| `\[\[([^|\s]+?)\]\]|` + // 替换[[明文|词条名]]词条链接为明文 即$1 | |
| `\[\[[\s\S]+?\]\]|` + // 替换[[明文]]词条链接为明文 | |
| `'''(.+?)'''|` + // 替换粗体为明文 即$2 | |
| `<s>.+?</s>|` + // 去除所有<s></s>标签 | |
| `<\w+>(.+?)</\w+>` + // 替换所有HTML标签为明文 即$3 | |
| ``) | |
| reg_content = regexp.MustCompile( | |
| `(?:\n|^).{1,12}[::].+|` + // 去除说明体文字 如 姓名: xxx `\n(?:本名|姓名|身高|机体|声优|种别|种类|萌点|年龄)[::].+` + | |
| `== (?:基本信息|登场作品) ==[\s\S]+?(==)|` + // 去除基本信息和登场作品区块 | |
| `===? ?(.+?) ?===?|` + // 替换小标题为明文 即$1 | |
| `\* ?|` + // 去除列表 | |
| `<[\w "%%=/\-:]+?>` + // 去除HTML标签如<br /><references /> | |
| ``) | |
| reg_final = regexp.MustCompile( | |
| `^\s+|` + // 去除开头空白 | |
| `(\n)\n+|` + // 去除连续两个以上的换行符 | |
| `[^\S\n]\s+` + // 去除两个以上的空白符 行文中分词的单个空格不会被替换 中文空格不会被替换 | |
| ``) | |
| // {{[\s\S]+?}}|\[\[[\s\S]+?\]\]|'''(.+?)'''|== (.+?) ==|<references />|\s+ | |
| ) | |
| func /*(this *FilterMoegirlwiki)*/ Process(src string) (dst string) { | |
| dst = reg_final.ReplaceAllString(reg_content.ReplaceAllString(reg_pre.ReplaceAllString(src, "$1$2$3"), "$1"), "$1") | |
| ds := []rune(dst) | |
| if len(ds) > 100 { | |
| //dst = string(ds[0:100]) + "..." | |
| } | |
| return dst | |
| } | |
| func main() { | |
| //fmt.Println() | |
| s := Process(TESTDATA) | |
| fmt.Println(s) | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment