需要正則表達式,它可以匹配像這樣的字符串"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