需要正则表达式,它可以匹配像"1B7FL26X3WS731388"
这样的字符串。字母数字17个字符长度。
我正在使用这个表达。
$rEX = '/([A-Z0-9]){17}/';
但它也会从像"FGD798791B7FL26X3WS731388POPOD"
;
我需要选择一个长度正好为17个字符的字符串。第18个字符不应该是字母数字。
答案 0 :(得分:2)
添加开始和结束您的模式:
$rEX = '/^([A-Z0-9]){17}$/D';
答案 1 :(得分:1)
你应该使用^ $ delimiters
$ rEX ='/ ^([A-Z0-9]){17} $ /';
仅允许使用大写字母数字17长度字符串
正则表达式将允许包含SUBSTRING的大写字母数字17长度字符串的所有字符串。
答案 2 :(得分:0)
$rEX = '/[^A-Z0-9]([A-Z0-9]){17}[^A-Z0-9]/';
应该这样做。 [^...]
否定了角色等级。
答案 3 :(得分:0)
$rEX = '/[^A-Z0-9]+([A-Z0-9]){17}[^A-Z0-9]+/';
答案 4 :(得分:0)
这样做
^([a-zA-Z0-9]){17}([^a-zA-Z0-9])*$
答案 5 :(得分:-1)
试试这个......
<?php
$title='1B7FL26X3WS731388';
$result = preg_replace("/[^a-zA-Z0-9]/", "", $title);
echo strlen($result);
?>