我正在尝试创建一个正则表达式来验证.csv文件的第一列,该列必须允许3-5个字母字符,一个连字符和一个数值E,g。 ABCD-123,EFG-4或HIJKL-5678在PHP中。
下面是我需要在其中应用该正则表达式的源代码。
<?php
$allowedColums = 3;
//Open the file.
$fileHandle = fopen("names.csv", "r");
//Loop through the CSV rows.
while (($row = fgetcsv($fileHandle, 0, ",")) !== FALSE) {
//Dump out the row for the sake of clarity.
$numcols = count($row);
if ($numcols != $allowedColums){
break;
}
echo " $row[0] ";
$fisrtColumn = $row[0];
$secondColumn = $row[1];
$thirdColumn = $row[2];
var_dump($row);
}
fclose($fileHandle);
?>
答案 0 :(得分:2)
^[A-Z]{3,5}-\d+$
说明:
^
匹配字符串的开头[A-Z]
匹配任何大写字母。没有指定,但所有示例均大写。如果大小写无关紧要,则可以执行[a-zA-Z]
。{3,5}
与上一个令牌([A-Z]
)匹配至少3次,最多5次。-
与-
字符匹配。\d+
匹配一个或多个数字$
匹配字符串的结尾答案 1 :(得分:0)
这个怎么样?
[A-Z]{3,5}-\d+
如果字符串必须以这种用法开头
^[A-Z]{3,5}-\d+