当前正则表达式:
([^ipd])
我得到正确的输出,虽然它没有单独取消选择它们。我想单独取消选择i
,p
和d
。
想要:
i
p
d
不想要:
ipd
ip
pd
id
等
我试过了:
([^ipd] {1})
([^i|p|d$])
答案 0 :(得分:0)
^[ipd]$
您需要添加锚点以将匹配限制为i,p,d
。
$re = "/^[ipd]$/m";
$str = "i\np\nd\n\nDon't Want\nipd\nip\npd\nid";
preg_match_all($re, $str, $matches);
答案 1 :(得分:0)
这项工作在字符串中,并带有单独的字符:
[^ipd]|(?<=[ipd])[ipd]|[ipd](?=[ipd])
其中:
[^ipd]
- 不是“我”,“p”或“d”; (?<=[ipd])[ipd]
- 匹配“i”,“p”或“d”(如果继续)
“我”,“p”或“d”; [ipd](?=[ipd])
- “i”,“p”或“d”,如果它被“i”,“p”或
“d”;