Вы можете сделать это с флагом \G
следующим образом:
(?: # non-capturing group
\G(?!\A) # match after the last match
| # or
\QLast Transaction(s)\E\s+ # Last Transactions(s) lit. + whitespaces
)
\s*
\K # whitespaces +
,
# "forget what's been matched thus far (\K)"
(?P.+) # capture anything in that line
См. демонстрацию на regex101.com (и помните о модификаторах! ) но обратите внимание, что синтаксический анализ HTML
(вложенные структуры в целом) считается плохой практикой. Если возможно, используйте парсер ее.
Я предложил бы, чтобы Вы проложили себе путь через превосходную книгу Andrew Koenig и Barbara Moo "Ускоренный C++" (санировал ссылку Amazon). Эта книга преподает Вам C++, а не предположите, что Вы знаете C и затем смотрите на биты C++, соединенные болтом на.
На самом деле Вы погружаетесь в и используете контейнеры STL в ранних главах.
Очень рекомендуем.
А также другие ответы здесь, я думаю, что необходимо смотреть на спокойный инструментарий. Мало того, что это имеет виджеты GUI, это также имеет библиотеки для работы с вещами как базы данных, многопоточность и сокеты.
Комбинация ПОВЫШЕНИЯ и QT, по моему скромному мнению, предоставляет Вам инструменты для обращения в C++ к любой проблеме, с которой Вы могли бы столкнуться.
У меня нет никаких подобных ресурсов для Вас, к сожалению, когда я взял длинный путь медленного обнаружения вещей часть частью.
У меня действительно есть протест для Вас, хотя: имейте в виду, что в мире C++, стандартная библиотека была очень медленной при предоставлении полезных услуг. В основном Вы найдете несколько алгоритмов, структур данных, несколько связанных со строкой классов и некоторые основные I/O-related. В отличие от Java или .NET, нет расширенной библиотеки классов для всех видов целей (сети, сервисы файловой системы, криптография, параллелизм, и т.д.) - самым близким к этому является, вероятно, Повышение, который стили как расширение стандартной библиотеки, но который является все еще внешним (хотя некоторые части его просачиваются назад в стандартную библиотеку).
Принятие Вас уже имеет некоторое знание синтаксиса C++ и имеет хороший Объектно-ориентированный опыт, я пошел бы для Эффективного ряда C++.
Это - набор "подсказок и приемов" объяснение, как C++ работает под капотом. Которые являются распространенными заблуждениями от людей, происходящих из других языков и почему C++ прокладывает себе путь.
Стоит принять во внимание, что C++ является, прежде всего, системным языком программирования. Таким образом его основной акцент не находится на работающих задачах хлеба и масла, а при записи инструментов, которые используются для выполнения тех задач. Например, вместо того, чтобы предоставить библиотеки доступа к базе данных из поля, C++ предназначается, чтобы использоваться для записи самого механизма базы данных.
Это зависит, на какой платформе Вы программируете. Сам C++ не имеет того же вида библиотеки, которую имеют Java или C#. Такая функциональность традиционно предоставляется операционной системой. Я предлагаю, чтобы Вы узнали о C++ из книги (мне нравится Краткая информация C++ Lippman, но это может быть немного медленно как свой нацеленный на новичков), и затем направляйтесь в MSDN, если Вы программируете в Windows. Существуют API для сетей, парсинга XML, шифрования, примерно все, в чем Вы нуждаетесь. Они просто связываются с ОС вместо самого языка.
Я не знаю эквивалентные ресурсы для Linux или Mac, но я уверен, что кто-то может предоставить их.