Ответ 1
Вы можете использовать lookbehind (не в Javascript):
(?<=cID=)[^&]*
Или вы можете использовать группировку и захватить первую группу:
cID=([^&]*)
У меня есть этот URL:
http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&
И этот шаблон регулярного выражения:
cID=[^&]*
Что дает этот результат:
cID=87B6XYZ964D293CF
Как удалить "cID ="?
Спасибо
Вы можете использовать lookbehind (не в Javascript):
(?<=cID=)[^&]*
Или вы можете использовать группировку и захватить первую группу:
cID=([^&]*)
Вообще говоря, чтобы выполнить что-то подобное, у вас есть как минимум 3 варианта:
substring
от матча
Учитывая эту тестовую строку:
i have 35 dogs, 16 cats and 10 elephants
Это совпадения некоторых шаблонов регулярных выражений:
\d+ cats
→ 16 cats
(см. на rubular.com)\d+(?= cats)
→ 16
(см. на rubular.com)(\d+) cats
→ 16 cats
(см. на rubular.com)
16
Вы также можете выполнять несколько захватов, например:
(\d+) (cats|dogs)
дает 2 результата совпадения (см. на rubular.com)
35 dogs
35
dogs
16 cats
16
cats
Используя группы захвата:
cID=([^&]*)
а затем получите $1:
87B6XYZ964D293CF
С помощью 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:
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]);
В javascript есть специальный синтаксис, который позволяет исключить нежелательное соответствие из результата. Синтаксис: "?:" В вашем случае решение будет следующим
'http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&'.match(/(?:cID=+)([^&]*)/)[1];