В регулярном выражении совпадают либо конец строки, либо определенный символ - программирование
Подтвердить что ты не робот

В регулярном выражении совпадают либо конец строки, либо определенный символ

У меня есть строка. Конец отличается, например index.php?test=1&list=UL или index.php?list=UL&more=1. Единственное, что я ищу, это &list=.

Как я могу сопоставить его, будь то в середине строки или в конце? Пока у меня есть [&|\?]list=.*?([&|$]), но часть ([&|$]) на самом деле не работает; Я пытаюсь использовать это, чтобы соответствовать либо &, либо конец строки, но конец строки не работает, поэтому этот шаблон совпадает с вторым примером, но не первым.

4b9b3361

Ответ 1

Использование:

/(&|\?)list=.*?(&|$)/

Обратите внимание, что когда вы используете выражение в скобках, каждый символ внутри него (с некоторые исключения) будет интерпретироваться буквально. Другими словами, [&|$] соответствует символам &, | и $.