Я создал следующее регулярное выражение
^xy_yx_blaa_(\d+)([\s\S]*?)(^[A-D]$|QM)+[\s\S]*?(?:SW|Analyzing)
И проблема у меня заключается в том, что при запуске это regex101 для примера, он получит 199 совпадений (это то, что я хочу), но когда я используюв моей программе на C # получено только 55 совпадений
После дальнейшего изучения я обнаружил, что программа на C # соответствует только тексту, содержащему только "QM", но в regex101 она соответствует тексту, содержащему A | B | C |D | QM
Это мой текущий код
TextExtractor extractor = new TextExtractor(path);
string text = extractor.ExtractText();
MatchCollection matches = Regex.Matches(text, pattern, RegexOptions.Multiline);
Заранее спасибо
вот пример входной строки
xy_yx_blaa_184
is the act of composing and sending electronic messages, typically
consisting of alphabetic and numeric characters, between two or more
users of mobile phones, tablets, desktops/laptops, or other devices.
Text messages may be sent over a cellular network, or may also be sent
via an Internet connection.
Derived
QM
SW
xy_yx_blaa_199
is the act of composing and sending electronic messages, typically
consisting of alphabetic and numeric characters, between two or more
users of mobile phones, tablets, desktops/laptops, or other devices.
Text messages may be sent over a cellular network, or may also be sent
via an Internet connection.
Derived
A
SW
inВ приведенном выше примере текста C # будет захватывать первый (он содержит QM), но в регулярном выражении 101 он захватит оба