1 Вопрос: Как я могу извлечь значение между 2 знаками?

вопрос создан в Thu, May 2, 2019 12:00 AM

У меня есть следующий формат сайта:

https://smth.something.com/? слово /1746636d-450C-4e3b-bec6-f9c8749f6644 &амп; sh_

Как я могу извлечь значение между "?" и "&", чтобы получить код "1746636d-450c-4e3b-bec6-f9c8749f6644"?

Я пытаюсь использовать RegEx (?<=?)(.*)(?=&), но появляется следующая ошибка: Uncaught SyntaxError: Unexpected token ?

    
- 2
  1. Вы должны экранировать вопросительный знак. Попробуйте (?<=\?).*?(?=&)
    2019-05-02 14: 43: 23Z
1 ответ                              1                         

Отрицательный взгляд назад не будет работать вообще в JavaScript (в настоящее время поддерживается только в Chrome), так как он пока еще не широко поддерживается, и вам нужно экранировать ?, поскольку \?, поскольку ? - это специальный символ в регулярном выражении.

Вы можете использовать это регулярное выражение,

\?([^&]+)

И получите ваши данные от group1

Демонстрация регулярных выражений

JS demo,

р>

const s = 'https://smth.something.com/word/?1746636d-450c-4e3b-bec6-f9c8749f6644&sh_'
console.log(s.match(/\?([^&]+)/)[1])
    
1
2019-05-02 14: 45: 34Z
  1. Я получил следующую ошибку: Uncaught SyntaxError: Invalid or unexpected token
    2019-05-02 14: 44: 28Z
  2. Вы также должны экранировать ? как \?
    2019-05-02 14: 44: 59Z
источник размещен Вот