组合两个正则表达式以保留转义字符但排除非转义字符



例如,我有一个字符串"aout>>>out\nt\<foo<<bar"我很难找到能够找到单词的正则表达式:

  • "aout>"

  • "out\nt\<foo"

  • "bar"

我正在尝试排除任何"<"或">"或未用"\"转义的"|"字符。

现在,我有[^ tn]+给我所有的";单词";没有<gt;|,但我想排除字符串中具有表达式(?:(?<!\)[<>|])+的部分(任何非否定的<>|(。有没有办法把这两个表达式结合起来?

您可以使用

(?:\[<>|]|[^s<>|])+

请参阅regex演示详细信息

  • (?:-非捕获组的开始:
    • \[<>|]-一个字符,然后是<>|字符
    • |-或
    • [^s<>|]-除空白、<>|之外的任何字符
  • )+-非捕获组结束,一次或多次重复

最新更新