web4 Posted June 19, 2010 Share Posted June 19, 2010 Hi i've been thinkign this in 1 day already and i think i need some help Here's a code that need to be revised <?php /*** a simple string ***/ $string = 'samples7'; /*** try to match letters with single number in it but limited to 8 characters and not less than 5 characters ***/ if(preg_match("/([a-zA-Z]+?=\d){5,8}$/", $string)) { /*** if we find the word white, not followed by house ***/ echo 'Found a match'; } else { /*** if no match is found ***/ echo 'No match found'; } ?> How could i revised that code to work correctly? Thanks Quote Link to comment Share on other sites More sharing options...
cags Posted June 19, 2010 Share Posted June 19, 2010 Something like this ought to work... $pattern = '#^(?=[a-z]*[0-9][a-z]*$).{5,8}$#i'; Quote Link to comment Share on other sites More sharing options...
ZachMEdwards Posted June 20, 2010 Share Posted June 20, 2010 Try this pattern: $pattern = '/(.[^\d]{4,7}\d)/'; Quote Link to comment Share on other sites More sharing options...
cags Posted June 20, 2010 Share Posted June 20, 2010 That will match a pattern that start with anything, followed by 4 - 7 non-numbers followed by a number, meaning it will allow it to start and end with a number but have no other numbers (i.e. have two in, which is not what was requested), or only one number which must be at the end. Quote Link to comment Share on other sites More sharing options...
salathe Posted June 21, 2010 Share Posted June 21, 2010 web4, did you get this sorted out? Of the two patterns offered, I'd go with cags' (since, it would work as you want). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.