我有字串:
$data = "012.03.AB";
我想要 preg_match 用于:
012 = 數字和 3 位數字
03 = 數字和 2 位數字
AB = 字母和 2 位數字
這是我的代碼:
$data = "012.03.AB";
preg_match("/[0-9]{3}\.[0-9]{2}|\.([A-Z]{2})/", $data);
但不作業
uj5u.com熱心網友回復:
如果我理解正確,您的問題是:
- 你
|的圖案中間有一個松動 - 您的第二個子模式設定為3位數,但您說它應該是2位數
- (可能是故意的,也可能不是)你的模式沒有被錨定
if (preg_match('#^([0-9]{3})\.([0-9]{2})\.([A-Z]{2})$#D', $data, $result) === 1) {
// $data matched; you can use the segments as:
$first = (int) $result[1];
$second = (int) $result[2];
$third = $result[3];
} else {
// $data did not match
}
i如果 2 個字符也允許為小寫,您可能希望在末尾添加一個標志。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/394704.html
標籤:php
