I have a code which экстракт строки запроса параметры:Разделить по доходности регулярных выражений "неопределенном"
Так (например), если окно является URL:
....&a=1&.....
--The код первым использованием split
на &
и затем разделите на =
Однако иногда мы используем значения base64, которые могут иметь дополнительные финалы ='s
(padding).
And here is where my code is messed up.
результат N4JOJ7yZTi5urACYrKW5QQ
и он должен быть N4JOJ7yZTi5urACYrKW5QQ==
Я расширяю свои регулярное выражение:
поиск=
таким образом, что после он -> (there is no end
ИЛИthere is no [=]
)
'a=N4JOJ7yZTi5urACYrKW5QQ=='.split(/\=(?!($|=))/)
это работает. (вы можете запустить его на консоли)
но результат ["a", undefined, "N4JOJ7yZTi5urACYrKW5QQ=="]
- Почему я получаю неопределенный
- Как я могу вылечить мое регулярное выражение для уступая лишь
["a", "N4JOJ7yZTi5urACYrKW5QQ=="]
ps Я знаю, что могу заменить все финалы =
на что-то временное, а затем заменить его обратно , но этот тег помечен как регулярное выражение. Так что я ищу способ исправить свое регулярное выражение.
Вы также можете использовать '.filter (function (n) {return n;})' для удаления пустых совпадений. –