I know /[\s]+/'
splits a string by spaces. I am trying to expand this to ignore any spaces within double quotes. So I want Hello World
to be split, but not "Hello World"
preg_split('/[\s]+/', $string)
is the expression I am using in PHP.
I know /[\s]+/'
splits a string by spaces. I am trying to expand this to ignore any spaces within double quotes. So I want Hello World
to be split, but not "Hello World"
preg_split('/[\s]+/', $string)
is the expression I am using in PHP.
You can use the PCRE verbs (*SKIP)(*FAIL)
to tell the regex to skip specific parts of an expression. So:
".*?"(*SKIP)(*FAIL)|\s+
will skip double quoted strings. Here's a regex101 demo:
https://regex101.com/r/eBP67C/1/
You can read more about this here, http://www.rexegg.com/regex-best-trick.html#pcrevariation.