我想匹配除给定单词之外的所有内容,因此给出以下列表:
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上看到它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。