У меня есть следующий шаблон регулярных выражений, который отлично работает:
#^(.+?)=(.+?)$#D
Однако я хочу расширить его, чтобы он поддерживал следующие примеры ввода:
немного текста = еще немного текста; что-то
некоторый текст = еще немного текста; что-то; что-то
некоторый текст = еще немного текста; что-то; что-то; что-то
Как видно из приведенного выше примера ввода, точка с запятой (;
) используется в качестве разделителя и используется для разделения текста (это между текстом).
Полагаю, я могу использовать следующий шаблон регулярных выражений ниже - он будет работать только тогда, когда есть единица, но не будет, если текст разделен точкой с запятой ... Я знаю, что, вероятно, могу добавить что-то вроде [;]*
но я хочу, чтобы проверка была строгой, чтобы убедиться, что она в этом формате (поэтому не может быть точек с запятой нигде, где они должны находиться только между текстом).
#^(.+?)=(.+?);(.+?)$#D
Если это поможет, я в настоящее время использую PHP-функцию preg_match()
(поэтому совпадения можно использовать в форме array()
).
Я не ограничен использованием регулярных выражений, так как это был единственный метод, о котором я мог подумать, поэтому я рад другим методам или любому методу, который может использоваться наряду с этим (при условии, что результаты могут быть легко получены в виде массива LOL).
Также я хотел бы отметить, что во время написания этого (и пролистывания системы тегов) у меня была новость ... возможно, использование preg_match_all()
с PCRE
рекурсивной функциональностью может быть возможным решением?
Ценю все ответы и благодарю за помощь.