В моем приложении будет строка, в которой она будет содержать произвольный пользовательский ввод, а также математические выражения, такие как это:
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