Hi,
You must have looked over the stuff that looks like chicken scratchings on p.2 and p.3: those are non-string regex’s. There are a couple on p.2, and then on p.3 the tutorial goes through a phone number matching example using only regex symbols. In any case, here are some more js regex resources:
http://www.siteexperts.com/tips/functions/ts23/page1.asp
http://www.evolt.org/article/Regular_Expressions_in_JavaScript/17/36435/
http://www.regular-expressions.com/
Regexes require precise specifications of what you are trying to match, and there is a lot of ambiguity in what you said you want to match. But, here is one that will match anything in a string that is between id and id:
var regex = /id.*id/;
Here’s the breakdown ( the / and / are like quotes for a string and are not part of the regex):
i matches the letter i
d matches the letter d
. matches any character
i matches i
d matches d
So, the regex looks for an i, followed by a d, followed by any character 0 or more times, followed by an i, followed by a d.
The matching behaviour of a regex like that can sometimes be confusing. For instance with this string:
id1234idid
you may think the match would be ‘id1234id’, but the regex has what is called ‘greedy’ behaviour: it tries to get as many characters as possible to match, so the match it produces is actually: ‘id1234idid’.
Oopps, I forgot that you wanted to extract the number. You can put any group of characters in parentheses, and the match() method will put those sub parts in an array. The match() method will return an array with the entire match at index position 0 in the array followed in order by each sub part of the regex that is wrapped in parentheses. So, try this code:
var str =“AAAid223.55.66idXX”
var regex = /id(.*)id/;
var matches = str.match(regex);
alert(matches[0]);
alert(matches[1]);