向复杂的正则表达式添加例外(使用前瞻和后向)
我想要一些正则表达式的帮助,因为我不太熟悉。 到目前为止,我已经创建了下面的正则表达式:向复杂的正则表达式添加例外(使用前瞻和后向)
/\b(?<![\#\-\/\>])literal(?![\<\'\"])\b/i
\ b断言在单词边界(位置^ \ W | \ W $ | \ W \ W | \ W \ W)
负回顾后(?])
断言,下面的正则表达式不匹配
匹配存在于下面的列表中的单个字符[# - />]
#匹配字符#字面上(不区分大小写)
- 字面(不区分大小写)
- 字符匹配/字符/字面上(不区分大小写)
>匹配字符>字面上(不区分大小写)
字面匹配字面文字的字符匹配的LY(不区分大小写)
负先行(?![\ < \'\“])
断言下面的正则表达式不匹配
比赛出现在下面的列表中的单个字符[\ < \ '\“]
\ <字符<字面上(不区分大小写)匹配
\' 与c匹配haracter'字面上(不区分大小写)
\字面意思是 “匹配字符”(不区分大小写)
\ b断言位置在单词边界(^ \ W | \ W $ | \ W \ W | \ W \ W)
全局模式标志
我修饰符:不敏感。不区分大小写的匹配(忽略 [a-zA-Z]的情况)
我想为此匹配规则添加两个例外。 1)如果“>”前面有“p”,例如一个<p>
开始标记,则仅匹配文字。 2)仅当<
与/p
相关时,也应该仅匹配文字,例如</p>
结束标签。 怎样才能做到这一点?
示例:只有粗体字应匹配。
<p>
**Literal** in computer science is a
<a href='http://www.google.com/something/literal#literal'>literal</a>
for representing a fixed value in source code. Almost all programming
<a href='http://www.google.com/something/else-literal#literal'>languages</a>
have notations for atomic values such as integers, floating-point
numbers, and strings, and usually for booleans and characters; some
also have notations for elements of enumerated types and compound
values such as arrays, records, and objects. An anonymous function
is a **literal** for the function type which is **LITERAL**
</p>
我知道我有过复杂的事情,但情况本身很复杂,我想我没有别的办法。
如果您正在搜索文本是文本与一些<a>
标签混合,然后就可以简化<
和>
部分lookarounds,并给出具体的字符串,它不应该依次为:</a>
。
/\b(?<![-#\/])literal(?!<\/a>)\b/i
谢谢!好的方法,没有想到它。 – dpesios
你能给的你想用它做什么输入和输出的例子吗?你使用哪种编程语言的正则表达式? – 4castle
@ 4castle我已经添加了一个例子。你会介意像以前一样再次编辑它吗?不知道如何添加实际的HTML。 – dpesios
这是什么编程语言?它看起来像你需要一个HTML解析器,而不是一个正则表达式。请阅读[XY问题](http://mywiki.wooledge.org/XyProblem)。 – 4castle