Мне не хватает свойств REGEX, и в моих приложениях Power для Canvas я получаю текстовую строку, например:
{"value": 1, "label": "apple"},{"value": 2, "label": "pineapple"}, {"value": 3,"label": "peach"},
{"value": 4, "label": "{"value": 1, "label": "apple"}"},..., {"value": 1000, "label": "..some fruit
string alphanumeric with every possible special character.."}
Мне нужно работать с Regex, чтобы получить правильный список ключей: значение и метка . Документы Power Apps предоставляют некоторые функции сопоставления: Функции IsMatch, Match и MatchAll в Power Apps
, но я не могу получить "value" и "label" ключи для замены их без двойных кавычек, таких как: значение , label получение этого результата: { значение : 1, label : "яблоко"}, { значение : 2, label : "ананас"}, { значение : 3, label : "персик"}, { значение : 4, label : "{" value ": 1," label ":" apple "}"}, ... , { значение : 1000, метка : "... некоторые фруктовые строки alphanumeri c со всеми возможными специальными символами .."}
Мои замечания:
- полная строка может содержать различное количество элементов, сгруппированных в фигурные скобки: один элемент соответствует {,}
- значению, связанному с ключом «значение» содержит всегда число от 0 до 999999
- значение, связанное с ключом "метка" является строчкой g, который может содержать все возможные типы символов (специальные символы, слова, числа и пробелы)
- с учетом того, что значение sting "label" может содержать ту же структуру с теми же значениями сама текстовая строка, так что, например, Regex не должен находить "label" или "value" или любой разделитель внутри значения метки ключа строки:
.. 4, " label ": "{" value ": 1," label ":" apple "}"}, все в порядке, потому что найти ключ (первый "метка" )
.. 4, " метка ": "{" значение": 1," метка : "apple"} "}, НЕПРАВИЛЬНО соответствует полужирному совпадению, поскольку извлекает еще одну " метку " и / или " value " внутри строкового значения ключа.
Если я смогу сопоставить и заменить «метку» и «значение» без двойных кавычек, я немедленно получу таблицу Power Apps.
Заранее спасибо за любое разрешение или совет!