首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex排除一切,但单独排除

Regex排除一切,但单独排除
EN

Stack Overflow用户
提问于 2015-07-21 11:22:31
回答 2查看 164关注 0票数 1

当前Regex:

代码语言:javascript
复制
([^ipd])

我得到了正确的输出,尽管它没有单独取消它们。我只想分别取消ipd的选择。

想要:

代码语言:javascript
复制
i
p
d

不想:

代码语言:javascript
复制
ipd
ip
pd
id

等。

我试过:

代码语言:javascript
复制
([^ipd] {1})
([^i|p|d$])
EN

回答 2

Stack Overflow用户

发布于 2015-07-21 11:23:34

代码语言:javascript
复制
^[ipd]$

您需要添加锚,以限制匹配只限于i,p,d

代码语言:javascript
复制
$re = "/^[ipd]$/m"; 
$str = "i\np\nd\n\nDon't Want\nipd\nip\npd\nid"; 

preg_match_all($re, $str, $matches);
票数 0
EN

Stack Overflow用户

发布于 2015-07-21 13:14:36

此工作以字符串形式进行,并使用单独的字符:

代码语言:javascript
复制
[^ipd]|(?<=[ipd])[ipd]|[ipd](?=[ipd])

其中:

  • [^ipd] -不是"i“、"p”或"d";
  • (?<=[ipd])[ipd] -匹配"i“、"p”或"d“,如果它由"i”、"p“或”d“进行;
  • [ipd](?=[ipd]) - "i“、"p”或"d“,如果它被"i”、"p“或”d“所忽略;

演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31537661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档