У меня есть этот URL:
http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&
И этот regex шаблон:
cID=[^&]*
Который приводит к этому результату:
cID=87B6XYZ964D293CF
Как я УДАЛЯЮ "cID ="?
Спасибо
В JavaScript вы захотите использовать группу захвата (поместите часть, которую вы хотите захватить, внутрь ()
) в вашем регулярном выражении
var url = 'http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&';
var match = url.match(/cID=([^&]*)/);
// ["cID=876XYZ964D293CF", "876XYZ964D293CF"]
// match[0] is the whole pattern
// match[1] is the first capture group - ([^&]*)
// match will be 'false' if the match failed entirely
Вы можете использовать поиск назад (не в Javascript):
(?<=cID=)[^&]*
Или вы можете использовать группировку и захватить первую группу:
cID=([^&]*)
Используя группы захвата:
cID=([^&]*)
, а затем получить $ 1:
87B6XYZ964D293CF
Вот код Javascript:
var str = "http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&";
var myReg = new RegExp("cID=([^&]*)", "i");
var myMatch = myReg.exec(str);
alert(myMatch[1]);
Вообще говоря, для выполнения чего-то подобного у вас есть как минимум 3 варианта:
подстроку
совпадения
Данная тестовая строка:
i have 35 dogs, 16 cats and 10 elephants
Это совпадения некоторых шаблонов регулярных выражений:
\ d + cats
-> 16 кошек
( см. На rubular.com ) \ d + (? = Cats)
-> 16
( см. На rubular. com ) (\ d +) кошки
-> 16 кошек
( см. на rubular.com )
16
Вы также можете выполнять несколько захватов, например:
(\ d +) (cats | dogs)
дает 2 результата совпадения ( см. На rubular.com )
35 собак
35
собак
16 кошек
] 16
котов