check my variables with this regex? 1[0-9]{6}[xX0-9]{1}

Hi

I'm moving some code from Java to PHP and I have a variable (  $paymentReference1  ) that I need to check againse this regex (  1[0-9]{6}[xX0-9]{1}  )

Can someone show me what to do please and possible explain the regex a little

Many thanks
Neil
LVL 3
Neil ThompsonSenior Systems DeveloperAsked:
Who is Participating?
 
ozoConnect With a Mentor Commented:
perl -MYAPE::Regex::Explain -e "print YAPE::Regex::Explain->new(qr(1[0-9]{6}[xX0-9]{1}))->explain"
The regular expression:

(?-imsx:1[0-9]{6}[xX0-9]{1})

matches as follows:
 
NODE                     EXPLANATION
----------------------------------------------------------------------
(?-imsx:                 group, but do not capture (case-sensitive)
                         (with ^ and $ matching normally) (with . not
                         matching \n) (matching whitespace and #
                         normally):
----------------------------------------------------------------------
  1                        '1'
----------------------------------------------------------------------
  [0-9]{6}                 any character of: '0' to '9' (6 times)
----------------------------------------------------------------------
  [xX0-9]{1}               any character of: 'x', 'X', '0' to '9' (1
                           times)
----------------------------------------------------------------------
)                        end of grouping
----------------------------------------------------------------------
0
 
mms_masterConnect With a Mentor Commented:
Hi,

Im assuming regex is a regular expression function in java. The PHP equivelant would be ereg() and eregi(); ereg is case sensitive and eregi isnt. More info at the links below.

ereg():
http://uk.php.net/manual/en/function.ereg.php

eregi():
http://uk.php.net/manual/en/function.eregi.php

Theres an example below of how you can use them.

mms_master
<?php
 
$paymentReference1 = "10257929";
 
if (ereg("1[0-9]{6}[xX0-9]{1}", $paymentReference1)) {
    echo "They match!";
} else {
    echo "They don't match!";
}
 
?>

Open in new window

0
 
mms_masterCommented:
Here is a guide for regular expressions:
http://www.zytrax.com/tech/web/regex.htm

mms_master
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Neil ThompsonSenior Systems DeveloperAuthor Commented:
Still cant get this to work, probably doing something wrong

Using as a test:

This should come back as pass
error_log(ereg("10948055", "1[0-9]{6}[xX0-9]{1}"));

This should Fail
error_log(ereg("50948055", "1[0-9]{6}[xX0-9]{1}"));

Neither seem to do anything?

Neil



0
 
Neil ThompsonSenior Systems DeveloperAuthor Commented:
got it, used preg_match in the end
0
 
Neil ThompsonSenior Systems DeveloperAuthor Commented:
Thanks
Neil
0
All Courses

From novice to tech pro — start learning today.