复杂的正则表达式将数字与字母结合起来

时间:2013-12-12 22:29:48

标签: php regex preg-match

要在具有preg_match功能的文本中搜索特定字符串,如UE-42F5070,我正在尝试编写正则表达式。我无法为“UE - ## F ####”编写正则表达式模式,其中#是数字,与preg_match一起使用以在文本中找到它们。

字符串示例;

UE-32F5070
UE-50F8000

3 个答案:

答案 0 :(得分:5)

您可以使用此正则表达式:

'/^UE-\d{2}F\d{4}$/'

Recommended Reading on Regex

<强>详细信息:

^     - Start input
UE    - Match literal "UE"
\d{2} - Match 2 digits
F     - Match literal "F"
\d{4} - Match 4 digits
$     - End input

答案 1 :(得分:3)

正则表达式中的数字为[0-9]\d。重复是{n}。所以

UE-[0-9]{2}F[0-9]{4}

Regular expression visualization

UE-\d\dF\d\d\d\d

答案 2 :(得分:1)

看起来UE是一个常量,所以你可以用它作为文字开始你的正则表达式,其余的应该只是:

preg_match('/UE-([0-9]{2}F[0-9]{4})/', $string, $matches);