Я ищу для извлечения:Regex заменить все, кроме определенного шаблона
50%
Из строки, которая будет иметь более или менее этот формат:
The 50% is in here somewhere.
Я также хотели бы извлечь:
50%50%25%
Из строки, как это:
50% of 50% is 25%
Regex.Match()
кажется очевидным соперником. Однако это включает проверку наличия совпадений (например, match.Success
), извлечение результатов из определенного индекса в массиве и/или риск обращения к индексу вне пределов.
Обычно замену Regex проще применять. Одна строка выполняет задание, включая возврат результирующей строки. Это верно для многих языков.
result = Regex.Replace(input, stuffWeDontLike, "")
В принципе, я ищу регулярных выражений фильтра а - вместо ввода шаблон для заменить, я хочу, чтобы задать шаблон для извлечения.
percentages = Regex.Filter("50% of 50% is 25%", "[0-9]+\%")
Можем ли мы сформировать регулярное выражение и инвертировать результат, как если бы это был выбор? Это позволило бы использовать регулярное выражение. Однако я не мог найти способ легко инвертировать регулярное выражение.
Как мы можем достичь желаемого результата (или аналогичного, соединение или так кажется приемлемым) с очень коротким и простым синтаксисом, похожим на регулярное выражение?
Итак, хотите ли вы ЗАМЕНИТЬ ИЛИ ВЫРАЖАТЬ в конце? Экстракция выполняется с помощью групп (скобки) и проверки совпадений в регулярных выражениях. Группы – Kilazur
Я хочу извлечь, но как однострочный. – Timo