Привет, я новичок в регулярных выражениях, и это может быть очень простой вопрос (надеюсь).
Я пытаюсь использовать одно решение для 3 типов строк
- "45%", ожидаемый результат: "45"
- "45", ожидаемый результат: "45"
- "", ожидаемый результат: ""
Что я пытаюсь (пусть строка будет str):
str.match(/(.*)(?!%*)/i)[1]
Это звучит в моей голове как "сопоставить любой экземпляр чего-либо вплоть до"% ", если он найден, или просто сопоставить что-либо"
В голове пожарного это звучит как "просто сопоставь что-либо и полностью игнорируй негативную перспективу". Также, чтобы сделать это ленивым - (.*)?
- не похоже.
Давайте на секунду забудем, что в этой конкретной ситуации я сопоставляю только числа, так что /\d*/
подойдет. Я пытаюсь понять общее правило, чтобы применить его в любое время.
Кто-нибудь был бы так любезен, чтобы помочь мне?