我有一个字符串列表(数字是字符串中不包含的行号!)
1. 2-1-44-1 WORD
2. 02-00-1030-1 WORD2
3. EKFOK (GI (I I((II(
4. 100-01-1-100 WORD3
5. 01 / 1-1-2-4 WORD4
6. 401 / 100-230-3-3 WORD5
.
.
.
我希望能够从具有以下结构的列表中仅选择第 1、2、4、5 和 6 行:
{STRING[NUM] / }STRING[NUM]-STRING[NUM]-STRING[NUM]-STRING[NUM] STRING[A-Z-NUM]
其中 {STRING[NUM] / } 是可选的。
所以我写:
if(preg_match("[0-9]-[0-9]-[0-9]-[0-9] [a-zA-Z0-9]", $line))
echo $line . '<br>';
但它说未知修饰符-
。我试图逃避,-
但它仍然给我带来了问题。
我正在考虑使用我的表达方式:
"[0-9]-[0-9]-[0-9]-[0-9] [a-zA-Z0-9]"
然后 OR 得到可选的前面部分:
([0-9] / [0-9]-[0-9]-[0-9]-[0-9] [a-zA-Z0-9])|([0-9]-[0-9]-[0-9]-[0-9] [a-zA-Z0-9])