Поиск математических выражений в строке - PullRequest
0 голосов
/ 28 мая 2019

В моем приложении будет строка, в которой она будет содержать произвольный пользовательский ввод, а также математические выражения, такие как это:

Text here

Amount: 100*4
Text

Я хочу найти во всей этой строке 100*4, чтобы я мог сделатьчто-то с этим.

Обычно я использую регулярное выражение для чего-то подобного, и ищу все математические операторы, которые я хочу поддерживать (+ - / *), а затем проверяю, окружены ли они цифрами.

Но я думаю, что я не хочу использовать регулярные выражения в Elm, я должен вместо этого использовать парсер?Я не понимаю, как я могу применить его к своему коду.

Обновление, я сделал это с помощью регулярного выражения:

findExpr : Regex
findExpr =
  Maybe.withDefault Regex.never <|
    Regex.fromString "(\\d+(\\*|\\/|\\+|\\-)\\s*)+(\\d+)"

matches : Model -> List Regex.Match
matches model =
  Regex.find findExpr model.inputValue
...