#c# #regex
#c# #регулярное выражение
Вопрос:
Я пытаюсь найти способ извлечения параметров, которые находятся в кавычках, из строки.
Цель состоит в том, чтобы принять выражение типа:
function1("var1","var2","var3","function2("func2Var1","func2Var2"))
И извлеките переменные:
var1
var2
var3
function2("func2Var1","func2Var2")
Комментарии:
1. Ваши кавычки не сбалансированы, потому что вы пропускаете одну перед последней
)
.2. Есть швы, что ваше регулярное выражение должно быть намного умнее, чем просто поиск кавычек. Он также должен знать о запятых и круглых скобках и о том, как все они взаимодействуют друг с другом.
Ответ №1:
Есть много вещей, которые вы можете сделать. Сначала я рекомендую вам загрузить и установить «Expresso» по следующей ссылке, это бесплатное приложение «registerware». Это тестовая площадка для регулярных выражений (не привязана к .NET, но является приложением .net), которая позволяет создавать и тестировать регулярные выражения в среде, подобной ide. В нем также есть учебные пособия.
Для тестирования это выражение по умолчанию — получать компоненты даты, разделенные косыми чертами.
Вы можете начать с чего-то вроде этого: (?([a-zA-Z] w *) s ) (?([a-zA-Z] w *) ) s*((?(«(?[^»] )»),s*) («(?[^»] )») s*)
Однако вам не следует пытаться анализировать, как ваш элемент 4, вложенные стили кавычек, поскольку для компьютера сложно определить, когда начинать или останавливаться.
Однако для такого рода проектов я бы рекомендовал конечный автомат, который лучше всего подходит для компиляторов.