Что такое регулярное выражение для соответствия следующему?
1 foo
(строка без кавычек)
2 "foo"
(строка внутри двойных кавычек)
3 'foo'
(строка внутри одинарных кавычек)
4 "fo\"o"
(строка с экранированной кавычкой)
5 'fo\'o'
(строка с экранированной кавычкой)
До сих пор я придумал это регулярное выражение:
[a-z]+|"[a-z]+"|'[a-z]+'
но это не учитывает случаи 4 и 5.
Мне кажется, что я могу решить эту проблему (с отрицанием, вложенными группами, выглядит некрасиво и медленно), но я не знаю, как сделать это элегантно.