Regular Expressions 101

Community Patterns

Community Library Entry

0

Regular Expression
PCRE2 (PHP >=7.3)

/
(?:'[^']*'|"[^"]*"|(\((?:[^()]++|(?1))*\))|[^'",])+
/
gm

Description

Breaks a CSV into parts, but keeps those things in quotes (single OR double), or in curved bracket together.

preg_match_all('~(?:\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\'|"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"|(\((?:[^()]++|(?1))*\))|[^\'",])+~s', $text, $matches)

Submitted by anonymous - 2 years ago