У меня есть это регулярное выражение: (?:\[|\G(?!^))('[^']+?')\s*,?\s*(?=[^\]]*?\])
, которое соответствует только содержанию между кавычками в квадратных скобках (например, массивом): ['Foo', 'Bar'] => возвращает 'Foo' 'Bar'
.
Проблемав этом случае одиночная кавычка является специальным символом, так как она используется регулярным выражением в качестве разделителя, но мне необходимо иногда передавать одиночную кавычку внутри значения в качестве экранированного символа: ['F'oo', 'B'ar']
.
Я пытаюсь сделать что-то наподобие 'F \' oo ', адаптировав эту группу без захвата (?:(?=(\\?))\1.)
к регулярному выражению, но это не работает, я пробовал много разных способов.
Это регулярное выражение группы без захвата происходит из этого ответа , где он успешно использует обратную косую черту для экранирования специальных символов.
Я использую C # с .NET Core.
полный текст что-то вроде: eq('Property', ['F'oo', 'Ba'r', '123'])
Как это можно решить?