在括号内提取字符串,如果它不包含另一个字符串

时间:2016-05-06 11:00:42

标签: regex

我想搜索一些标记并查找某个不包含某个属性的标记 如果标签是{mytag}并且属性是粗体,我想找到mytag的出现,其中缺少粗体。

找到这个:
{mytag size = 3}

忽略这一点:
{mytag bold =“true”size = 3}

1 个答案:

答案 0 :(得分:3)

您可以执行类似

的操作
{mytag([^}](?!bold=))*}

它会与您的代码匹配,并使用否定预测确保bold代码显示在结尾}之前。

See it here at regex101

正如评论所说,正则表达式在这里并不理想。假设一个属性包含}它将失败。例如。 {mytag name="abc}def" bold="true"}

此致