首页 > 解决方案 > 正则表达式捕获 beetween 标签,但不是某些字符

问题描述

我有一个像

>toto< => match `toto`

>{toto}< => do not match anything

所以我想创建只捕获beetween中的文本> <但不以开头的正则表达式<{ }>

我试着用>(.*?)<

我不知道如果它像这样开始忽略正则表达式是什么,因为>to{to<这应该匹配to{to

标签: regex

解决方案


您可以使用

>(?!\{[^<>]*\}<)([^<>]+)<

请参阅正则表达式演示

详情

  • >- 一个>字符
  • (?!\{[^<>]*\}<)- 如果存在 ,则匹配失败的负前瞻{,然后是零个或多个字符<>然后是}<字符串
  • ([^<>]+)<- 第 1 组:除和之外的任何一个或多个字符>
  • <- 一个<字符。

推荐阅读