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

正则表达式匹配除给定单词之外的所有内容(可能包括连字符/破折号

发布时间:2020-12-13 22:53:54 所属栏目:百科 来源:网络整理
导读:我想匹配除给定单词之外的所有内容,因此给出以下列表: wordOnewordTwo/xy/zword-threeword-four/lots/of/stuff 我可以使用这个正则表达式匹配除wordOne之外的所有内容: (?!wordOne)b.+ == wordTwo/xy/z word-three word-four/lots/of/stuff 但是,如果我想
我想匹配除给定单词之外的所有内容,因此给出以下列表:
wordOne
wordTwo/xy/z
word-three
word-four/lots/of/stuff

我可以使用这个正则表达式匹配除wordOne之外的所有内容:

(?!wordOne)b.+
  ==>
    wordTwo/xy/z
    word-three
    word-four/lots/of/stuff

但是,如果我想匹配除了包含连字符/破折号的单词之外的所有内容,则相同的正则表达式不起作用,因为连字符不是单词边界的一部分 – 这是[a-zA-Z0-9_]

例如

some-regexp(word-four)
  ==>
    wordOne
    wordTwo/xy/z
    word-three

some-regexp(word-four and word-three)
  ==>
    wordOne
    wordTwo/xy/z
我可以看到你在示例中每行定义一个单词.在这种情况下,这个正则表达式应该适合你:
^(?:(?!word-four|word-three).)*$

它会跳过包含四字或三字的单词.

根据你的例子:

^(?:(?!wordOne).)*$
  ==>
    wordTwo/xy/z
    word-three
    word-four/lots/of/stuff 

^(?:(?!word-four).)*$
  ==>
    wordTwo/xy/z
    word-three
    word-four/lots/of/stuff 

^(?:(?!word-four|word-three).)*$
  ==>
    wordOne
    wordTwo/xy/z

在rubular上看到它.

(编辑:李大同)

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

    推荐文章
      热点阅读