需要正则表达式,它可以匹配像这样的字符串"1B7FL26X3WS731388"
。字母数字17个字符长度。正则表达式
我正在使用这个表达式。
$rEX = '/([A-Z0-9]){17}/';
但它也返回一个像这样的字符串的一部分"FGD798791B7FL26X3WS731388POPOD"
;
我需要选择一个长度恰好为17个字符的字符串第18个字符不应该是字母数字。
需要正则表达式,它可以匹配像这样的字符串"1B7FL26X3WS731388"
。字母数字17个字符长度。正则表达式
我正在使用这个表达式。
$rEX = '/([A-Z0-9]){17}/';
但它也返回一个像这样的字符串的一部分"FGD798791B7FL26X3WS731388POPOD"
;
我需要选择一个长度恰好为17个字符的字符串第18个字符不应该是字母数字。
$rEX = '/[^A-Z0-9]([A-Z0-9]){17}[^A-Z0-9]/';
应该做的。 [^...]
否定字符类。
添加开始和结束你的模式:
$rEX = '/^([A-Z0-9]){17}$/D';
$rEX = '/[^A-Z0-9]+([A-Z0-9]){17}[^A-Z0-9]+/';
这将做
^([a-zA-Z0-9]){17}([^a-zA-Z0-9])*$
这将匹配“1234567890abcdefghijk ###”并将在组1中返回“567890abcdefghijk” – shift66 2012-02-21 11:16:52
您应该使用^ $定界符
$ REX =“/ ^([ A-Z0-9]){17} $ /';
只允许大写字母数字17长度的字符串
你的正则表达式将允许包含大写的字母数字17 lenght字符串的子字符串的所有字符串。
试试这个....
<?php
$title='1B7FL26X3WS731388';
$result = preg_replace("/[^a-zA-Z0-9]/", "", $title);
echo strlen($result);
?>
那表情如何正常工作。如果只在第18个字符是非字母数字时才需要匹配,则应在表达式中指定该字符。 – 2012-02-21 11:12:43
谢谢大家的回复我得到了我需要的 $ rEX ='/([A-Z0-9]){17}([^ A-Za-z0-9]){1} /'; 它现在正在为我工作 – CoreCoder 2012-02-21 11:18:31