我有一个正则表达式[&<>]
,用于匹配文本中的<
和>
。
类似于<i>text</i>
-将匹配<,>,<,>,
但是我不希望它与<b>
和</b>
匹配
我该怎么做?
示例:<i>match me</i> <b>don't match me</b> <i>match me</i>
斜体标签将仅匹配<
和>
答案 0 :(得分:0)
您可以使用消极的环视效果实现此目标
(?<!b)>|(?!<b)(?!</b)<
说明:
(?<!b)>|(?!<b)(?!</b)<
| # match either
> # a >,
(?<!b) # not preceeded by a b
< # or a <,
(?!<b) # not preceeded by a <b
(?!</b) # and neither by </b
环视断言通常必须具有固定的长度,这就是为什么我们需要两个用于开括号的原因:一个用于<b>
,一个用于</b>
。