加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 如何编写排除而不是匹配的正则表达式,例如not(thi

发布时间:2020-12-14 06:33:37 所属栏目:百科 来源:网络整理
导读:我试图创建一个排除组的Emacs正则表达式。 [^]排除一个集合中的单个字符,但是我想排除特定的字符序列:像[^(not | this)],因此包含“not”或“this”的字符串不匹配。 原则上,我可以写([^ n] [^ o] [^ t] | [^ …]),但还有另一种更清洁的方法吗? 首先:
我试图创建一个排除组的Emacs正则表达式。 [^]排除一个集合中的单个字符,但是我想排除特定的字符序列:像[^(not | this)],因此包含“not”或“this”的字符串不匹配。

原则上,我可以写([^ n] [^ o] [^ t] | [^ …]),但还有另一种更清洁的方法吗?

首先:[^ n] [^ o] [^ t]不是一个解决方案。这也会排除像nil([^ n]不匹配),bob([^ o]不匹配)或cat([^ t]不匹配)的单词。

但是,可以使用基本语法来构建一个正则表达式,该语法匹配既不包含也不包含此字符串的字符串:

^([^nt]|n($|[^o]|o($|[^t]))|t($|[^h]|h($|[^i]|i($|[^s]))))*$

此正则表达式的模式是允许任何不是单词的第一个字符的字符,也可以是单词的前缀,而不是整个单词。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读