Я новый программист на C#. Я пытаюсь сделать простой C# приложение, которое будет извлекать заголовки из PDF-файла (книги), если они находятся в таком формате:Regex для многострочного заголовка C#
1.1 ЭЛЕКТРИЧЕСКОЙ/ЭЛЕКТРОНИКА ПРОМЫШЛЕННАЯ
1.2 Краткая история
1,3 ЕДИНИЦЫ ИЗМЕРЕНИЯ
Я использую код:
string pattern = @"(\d+)(\.)(\d+) ([A-Z]+).([A-Z]+).([A-Z]+).([A-Z]+).([A-Z]+)";
Regex.match(strText,pattern);
, который отлично работает для однострочных заголовков, но не работает для двух линейных/многострочных заголовков. Может ли кто-нибудь помочь?
Вы говорите оглавление или что-то в этом роде? Вы никогда не будете получать регулярное выражение, если вы рассмотрите весь текст книги как одну строку и запустите регулярное выражение один раз. Вы подберете много ложных срабатываний и, вероятно, тоже пропустите. – SledgeHammer
Это регулярное выражение не делает то, что вы думаете, что оно делает. Например, он будет соответствовать строке 'XYZ1.2 A BRIEF HISTORY' и не будет соответствовать строке' 2.4 SUMMARY'. Я рекомендую вам найти несколько руководств по регулярным выражениям (но ** не ** спрашивайте здесь, как это явно не относится к теме). – AdrianHHH
Да, я говорю обо всем тексте книги. Я выбираю его, потому что он хорошо отформатирован.Кажется, работает, но да есть некоторые незначительные проблемы, которые, я думаю, могут быть решены, @SledgeHammer – rabinmallick