I did a search but I didn't found anything . I'm looking for a pattern that will search in an alpha-numeric string (with the exact length of 7) the letter "P" . This is what I came up with until now , why isn't working ?
$pattern = "/^[\wP]{7}$/";
I did a search but I didn't found anything . I'm looking for a pattern that will search in an alpha-numeric string (with the exact length of 7) the letter "P" . This is what I came up with until now , why isn't working ?
$pattern = "/^[\wP]{7}$/";
Well it isn't working because [\wP]{7} (in your regex: /^[\wP]{7}$?/) means find 7 characters that are either a word character OR the letter P. It could find all Ps and it would match, or all word characters and it would match. My quick fix would be to verify the string is 7 letters long using a regex then do a string position to find the "P":
if(preg_match("/^[\w]{7}$/", $target) && strpos($target, "P") != -1) {
// Do stuff
}
Try this:
$pattern = '/^([a-zA-Z0-9]{6})(P{1})$/';
You could condider using strpos and strlen for speed!