TripleDES Posted June 6, 2007 Share Posted June 6, 2007 Please help with with this regex. I need to match the first string as Z followed by 3-5 numbers. Z1 - Match Z12 - Match Z1234 - Match zZ123 - No Match This expression seems to work well except for the last example. How do I filter out characters before Z? Or...how do I enforce Z as the first character? /\b[Z][0-9]{3,5}/ Thanks! Link to comment https://forums.phpfreaks.com/topic/54377-solved-regex-match-first-character-followed-by-numbers/ Share on other sites More sharing options...
obsidian Posted June 6, 2007 Share Posted June 6, 2007 The carrot designates the beginning of a line, so you'll want something like this: /^Z\d{3,5}/ If you are wanting the 3-5 digits to be the end of the string, so you don't have people validating something like Z12345asd or Z1234561, you'll need to add the end string as well: /^Z\d{3,5}\z/ Good luck. Link to comment https://forums.phpfreaks.com/topic/54377-solved-regex-match-first-character-followed-by-numbers/#findComment-268899 Share on other sites More sharing options...
TripleDES Posted June 6, 2007 Author Share Posted June 6, 2007 I initially had this: if ((strpos($val,"Z") == 0) AND (preg_match("/^[Z][0-9]{3,5}$/",$val))) { Then, settled with: /^[Z][0-9]{3,5}$/ Thanks for your help! Link to comment https://forums.phpfreaks.com/topic/54377-solved-regex-match-first-character-followed-by-numbers/#findComment-269118 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.