Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

发现一个匹配bug #82

Closed
lantongxue opened this issue Dec 24, 2020 · 3 comments
Closed

发现一个匹配bug #82

lantongxue opened this issue Dec 24, 2020 · 3 comments

Comments

@lantongxue
Copy link

lantongxue commented Dec 24, 2020

第一个问题是匹配位置的问题:
WordsSearch.cs FindAll 方法中
list.Add(new WordsSearchResult(keyword, i + 1 - keyword.Length, i, item));
这样计算出来的位置有很大偏差
经过我仔细计算后,应该是这样的

int start = i + 1 - keyword.Length;
list.Add(new WordsSearchResult(keyword, start, start + keyword.Length, item));

其中 FindFirst 也是一样的问题。

第二个问题还是匹配位置的问题:
如果匹配的内容中有 \r、\n 这类的字符,那么实际计算出来的位置要减去这类字符的数量

比如我有如下测试文本:

庭审中,邱吉林承认了曾同小小发生性关系,但否认知道小小的年龄,其辩护人为他做了轻罪辩护。
12月16日,备受关注的成都市双流区14岁未成年女生小小(化名)遭遇强奸后跳楼事件在双流区人民法院开庭审理。双流区人民检察院指控,2019年8月至12月期间,被告人邱吉林在明知小小不满14周岁的情况下,采取金钱利诱、威胁等手段,与其相继发生8次性关系,期间还两次拍摄性侵视频并传播。检方认为,被告人邱吉林多次奸淫不满十四周岁的幼女,并造成被害人怀孕等后果,情节特别恶劣,罪行极其严重,应当以强奸罪追究其刑事责任。
上游新闻记者了解到,被告人邱吉林当庭承认了自己曾与小小发生过性关系,但否认知道其具体年龄,代理律师为他做了轻罪辩护。
被害人小小的母亲表示,不接受邱吉林的任何道歉与赔偿,希望法院能够对其重判。
取保候审期间,邱吉林发布的出行照片。图片来源 / 网页截图
此前,上游新闻刊发的《成都14岁女生被强奸引产后自杀,涉案企业老板取保候审后疑似西藏旅游》《成都少女被强奸后自杀 媒体报道3天后嫌犯被批捕》报道显示,小小的母亲朱琴华表示,女儿生前曾遭企业老板邱吉林的伤害:邱吉林先通过利诱小小发送裸照,再利用裸照胁迫小小发生关系并导致小小怀孕。2月3日,小小发现自己怀孕,到医院检查后发现已怀孕15周。2月4日,成都市公安局双流区分局就小小被强奸一案正式立案侦查,邱吉林被取保候审。成都市公安局双流区分局5月8日作出的鉴定意见书显示,“邱吉林是小小引产胎儿的生物学父亲”。
6月28日晚,小小在位于双流区的家中结束了自己的生命。
今年7月2日,媒体广泛报道了小小的遭遇后,双流警方将已经取保候审近5个月的邱吉林刑事拘留,7月16日邱吉林被逮捕,10月30日检方移送法院起诉。
双流区人民检察院指控,2019年8月20日,邱吉林与被害人小小相互添加为QQ好友并进行聊天。2019年8月至12月期间,邱吉林林在明知小小不满14周岁的情况下,采取金钱利诱、威胁等手段,与其相继发生8次性关系。
上游新闻记者注意到,邱吉林在8次性侵小小时,均选择了双流区的酒店进行犯罪。
检方指控,邱吉林除了性侵小小外,还拍摄了小小的裸照,记录了侵犯过程,还将这些裸照和视频两次发送给朋友进行炫耀。
检方认定,邱吉林在2019年10月19日性侵小小时,还拍摄了她手机通话记录的页面,其中包括小小母亲和其他亲属的电话号码。
小小的母亲朱琴华对上游新闻记者表示,邱吉林不仅通过拍摄小小裸照以传给她朋友的方式相威胁,还威胁将这些事告诉其家人,“邱吉林记录我和其他亲戚电话号码的目的,就是为了威胁小小不要把这些事告诉我们,以达到控制小小的目的。”
鉴定书证实,邱吉林是小小引产胎儿的父亲。图片来源 / 受访者提供
庭审中,邱吉林承认了曾同小小发生性关系,但否认知道小小的年龄,其辩护人为他做了轻罪辩护。
检方在庭审中指出,邱吉林曾询问过小小的同学小小的年龄,同时根据邱吉林和小小同学聊天记录也可以认定,邱吉林知道或者应当知道小小未成年。
朱琴华告诉上游新闻记者,邱吉林曾不止一次地通过聊天软件添加过小小同学,“还曾把小小的裸照发给她的同学,不止一次询问小小的年龄。”
上游新闻记者获悉,小小母亲朱琴华以刑事附带民事原告人的身份,向法院提出了民事赔偿请求,要求邱吉林赔偿医疗费、护理费等共计83万余元。
12月16日庭审结束后,双流区人民法院未对此案当庭宣判。
小小的母亲朱琴华告诉上游新闻记者,获悉邱吉林曾向朋友炫耀性侵过未成年少女、发送小小裸照给其他人之后十分气愤,“我唯一的要求就是法院对他重判。”朱琴华称,小小被性侵一案审理结束后,她也希望能够搞清楚为何邱吉林在被以强奸罪立案侦查后,可以在当天取保候审,取保候审期间还可以在全国范围内自由行动,警方为何没有在DNA报告出来后对其变更刑事强制措施,“女儿生前不仅一次问过我,为什么不及时抓邱吉林?这也是我的疑问。”
上游新闻记者 胡磊

以 “强奸” 这个词为例

正常匹配出来的开始位置应该是 80,结束位置是82
但实际结果是:79,81
问题是因为在 其辩护人为他做了轻罪辩护。 这句后面有个 \n 符号

以上两个结果是基于第一问题我改了代码后匹配出来的位置。

@toolgood
Copy link
Owner

            var txt = @"庭审中,邱吉林承认了曾同小小发生性关系,但否认知道小小的年龄,其辩护人为他做了轻罪辩护。
12月16日,备受关注的成都市双流区14岁未成年女生小小(化名)遭遇强奸后跳楼事件在双流区人民法院开庭审理。双流区人民检察院指控,2019年8月至12月期间,被告人邱吉林在明知小小不满14周岁的情况下,采取金钱利诱、威胁等手段,与其相继发生8次性关系,期间还两次拍摄性侵视频并传播。检方认为,被告人邱吉林多次奸淫不满十四周岁的幼女,并造成被害人怀孕等后果,情节特别恶劣,罪行极其严重,应当以强奸罪追究其刑事责任。
上游新闻记者了解到,被告人邱吉林当庭承认了自己曾与小小发生过性关系,但否认知道其具体年龄,代理律师为他做了轻罪辩护。
被害人小小的母亲表示,不接受邱吉林的任何道歉与赔偿,希望法院能够对其重判。
取保候审期间,邱吉林发布的出行照片。图片来源 / 网页截图
此前,上游新闻刊发的《成都14岁女生被强奸引产后自杀,涉案企业老板取保候审后疑似西藏旅游》《成都少女被强奸后自杀 媒体报道3天后嫌犯被批捕》报道显示,小小的母亲朱琴华表示,女儿生前曾遭企业老板邱吉林的伤害:邱吉林先通过利诱小小发送裸照,再利用裸照胁迫小小发生关系并导致小小怀孕。2月3日,小小发现自己怀孕,到医院检查后发现已怀孕15周。2月4日,成都市公安局双流区分局就小小被强奸一案正式立案侦查,邱吉林被取保候审。成都市公安局双流区分局5月8日作出的鉴定意见书显示,“邱吉林是小小引产胎儿的生物学父亲”。
6月28日晚,小小在位于双流区的家中结束了自己的生命。
今年7月2日,媒体广泛报道了小小的遭遇后,双流警方将已经取保候审近5个月的邱吉林刑事拘留,7月16日邱吉林被逮捕,10月30日检方移送法院起诉。
双流区人民检察院指控,2019年8月20日,邱吉林与被害人小小相互添加为QQ好友并进行聊天。2019年8月至12月期间,邱吉林林在明知小小不满14周岁的情况下,采取金钱利诱、威胁等手段,与其相继发生8次性关系。
上游新闻记者注意到,邱吉林在8次性侵小小时,均选择了双流区的酒店进行犯罪。
检方指控,邱吉林除了性侵小小外,还拍摄了小小的裸照,记录了侵犯过程,还将这些裸照和视频两次发送给朋友进行炫耀。
检方认定,邱吉林在2019年10月19日性侵小小时,还拍摄了她手机通话记录的页面,其中包括小小母亲和其他亲属的电话号码。
小小的母亲朱琴华对上游新闻记者表示,邱吉林不仅通过拍摄小小裸照以传给她朋友的方式相威胁,还威胁将这些事告诉其家人,“邱吉林记录我和其他亲戚电话号码的目的,就是为了威胁小小不要把这些事告诉我们,以达到控制小小的目的。”
鉴定书证实,邱吉林是小小引产胎儿的父亲。图片来源 / 受访者提供
庭审中,邱吉林承认了曾同小小发生性关系,但否认知道小小的年龄,其辩护人为他做了轻罪辩护。
检方在庭审中指出,邱吉林曾询问过小小的同学小小的年龄,同时根据邱吉林和小小同学聊天记录也可以认定,邱吉林知道或者应当知道小小未成年。
朱琴华告诉上游新闻记者,邱吉林曾不止一次地通过聊天软件添加过小小同学,“还曾把小小的裸照发给她的同学,不止一次询问小小的年龄。”
上游新闻记者获悉,小小母亲朱琴华以刑事附带民事原告人的身份,向法院提出了民事赔偿请求,要求邱吉林赔偿医疗费、护理费等共计83万余元。
12月16日庭审结束后,双流区人民法院未对此案当庭宣判。
小小的母亲朱琴华告诉上游新闻记者,获悉邱吉林曾向朋友炫耀性侵过未成年少女、发送小小裸照给其他人之后十分气愤,“我唯一的要求就是法院对他重判。”朱琴华称,小小被性侵一案审理结束后,她也希望能够搞清楚为何邱吉林在被以强奸罪立案侦查后,可以在当天取保候审,取保候审期间还可以在全国范围内自由行动,警方为何没有在DNA报告出来后对其变更刑事强制措施,“女儿生前不仅一次问过我,为什么不及时抓邱吉林?这也是我的疑问。”
上游新闻记者 胡磊";


            WordsSearch wordsSearch = new WordsSearch();
            wordsSearch.SetKeywords(new string[] { "强奸" });

            var ws = wordsSearch.FindAll(txt);
            foreach (var w in ws)
            {
                Assert.AreEqual('强', txt[w.Start]);
                Assert.AreEqual('奸', txt[w.End]);
            }

经测试,未发现bug

@toolgood
Copy link
Owner

第一个问题,你对WordsSearchResult的End有误解。。。

@lantongxue
Copy link
Author

第一个问题,你对WordsSearchResult的End有误解。。。

我看代码注释中写的是结束位置。。。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants