regex - 正则表达式捕获 beetween 标签,但不是某些字符
问题描述
我有一个像
>toto< => match `toto`
和
>{toto}< => do not match anything
所以我想创建只捕获beetween中的文本>
<
但不以开头的正则表达式<{
}>
我试着用>(.*?)<
我不知道如果它像这样开始忽略正则表达式是什么,因为>to{to<
这应该匹配to{to
解决方案
您可以使用
>(?!\{[^<>]*\}<)([^<>]+)<
请参阅正则表达式演示。
详情:
>
- 一个>
字符(?!\{[^<>]*\}<)
- 如果存在 ,则匹配失败的负前瞻{
,然后是零个或多个字符<
,>
然后是}<
字符串([^<>]+)
<
- 第 1 组:除和之外的任何一个或多个字符>
<
- 一个<
字符。
推荐阅读
- jquery - 让 JQuery ajax 发布 JSON 数据的最佳方式是什么?
- javascript - 更改嵌套状态的所有值?
- java - 通过两个旋转器的组合打开一个新活动
- java - 在编写测试用例时将 Json 响应转换为 java 对象时出错
- javascript - jplayer播放事件
- javascript - Express JS API 在读取 OG 标签时卡住,CPU 使用率达到 100%
- java - 如何从坐标中获取文本属性?
- c++ - 为什么我的阵列不工作以及如何修复它
- javascript - 为什么一个值在 x 中增加而不在找到的对象中?
- python - Leetcode 90. TypeError: unhashable type: 'list'