using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^(?<MasterGroup>(?<MatchMisc>.{0,8}?(刚刚|烫手|热乎|出息|来[了啦辣喽]).{0,8}+)|(?<StrictMatchNumber>\d)|(?<MatchMost>.{0,8}?(?<PreQuantifier>[后前]?)第?(?<NumberMatch>[0-9一二三四五六七八九十两俩百万千亿半]+[kw]?)(?<PostQuantifierMatch>[后前个条发第]?(?<PostQuantifierMost>点?赞|播放?|弹幕|看|转发?|开|分钟?|小?时|秒|min|h)|(?<CompareMatch>[以之]?[后前])).{0,8}+)|(?<MatchOrder>.{0,8}?[前第](?&NumberMatch).{0,8}+)|(?<MatchInverse>.{0,8}?[前第](?&NumberMatch)[个名].{1,8}+)|(?<MatchAnchor>空降.{3,8}+))$";
string input = @"(注。以下测试样例部分取自某些视频的真实弹幕,少部分是自己编的句子)
看到我就是两百以后了
看到我你就不是第一了
1播放,256赞,B站特色
一分钟!!!312个赞
两分钟热热乎乎
600播放500赞
第一名是我
第838个赞我收下了
天哪那,第四个转发!!!
4分钟
热乎
183条弹幕
十分钟的,还热乎啊,真香
关上前500发弹幕的大门
怎么过一会儿就18个转发了
关上前10000播放量的大门
热乎25min
8888点赞
12个
第4
来了来了,1分钟!
热乎 前2000
我迟到了10min!!!
有10只
2分钟,烫
2021第一天就这么刺激
借刀杀人*2
2333333
66666666
2
1
2:42
出息了
7分钟 很快啊!
一番定夺
第一哈哈哈
半小时,冻死了
空降00:00
牛顿第二定律
你这到底是保护村庄还是破坏村庄来了
燃起来了!
来了来了
很残酷的事实:在未命名的情况下不管你杀不杀末影螨它都会在两分钟后消失
(以下是误杀的例子。注意,这一些误杀并不准备修复,毕竟正则是读不懂人话的。)
三分钟后会消失
(。。。我找不到误杀的例子了。。。)
刚刚,放进岩浆里还能吃
(哇这个竟然没有屏蔽!想办法修复中哇。。。)";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx