I have this URL:
http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&
And this regex pattern:
cID=[^&]*
Which produces this result:
cID=87B6XYZ964D293CF
How do I REMOVE the "cID="?
Thanks
I have this URL:
http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&
And this regex pattern:
cID=[^&]*
Which produces this result:
cID=87B6XYZ964D293CF
How do I REMOVE the "cID="?
Thanks
You can either use lookbehind (not in Javascript):
(?<=cID=)[^&]*
Or you can use grouping and grab the first group:
cID=([^&]*)
Generally speaking, to accomplish something like this, you have at least 3 options:
substring
of the match
Given this test string:
i have 35 dogs, 16 cats and 10 elephants
These are the matches of some regex patterns:
\d+ cats
-> 16 cats
(see on rubular.com)\d+(?= cats)
-> 16
(see on rubular.com)(\d+) cats
-> 16 cats
(see on rubular.com)
16
You can also do multiple captures, for example:
(\d+) (cats|dogs)
yields 2 match results (see on rubular.com)
35 dogs
35
dogs
16 cats
16
cats
With JavaScript, you'll want to use a capture group (put the part you want to capture inside ()
) in your regular expression
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
By using capturing groups:
cID=([^&]*)
and then get $1:
87B6XYZ964D293CF
Here's the Javascript code:
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]);
There is a special syntax in javascript which allows you to exclude unwanted match from the result. The syntax is "?:" In your case the solution would be the following
'http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&'.match(/(?:cID=+)([^&]*)/)[1];
'http://example.com/createSend/step4_1.aspx?cID=876XYZ964D293CF&snap=true&jlkj=kjhkjh&'.match(/cID=+([^&]*)/)[1];
is simpler as it does not require the non-capturing group and returns the same result as your example. –
Urson © 2022 - 2024 — McMap. All rights reserved.