对不起,我的英语不好
我的示例文本是 html 但测试必须适用于任何上下文
我有这个正则表达式:“<\b[Dd][Ii][Vv]\b([^>]*)>”
我想完成它以排除引号之间的所有 > 但我不知道该怎么做
请参阅下面的示例:
<div badAttribute="who put a > here?" class="exemple"> [....] </div>
预期的比赛是
<div badAttribute="who put a > here?" class="exemple">
[编辑]
另一个例子:https : //regex101.com/r/BQUENO/1
我有 2 个关键字:开始关键字 '001' 和结束关键字 '@' 我想要“都在 001 和 @ 之间,但忽略引号之间的 001 和 @”
我开始使用这个正则表达式来排除 @ 和引号之间的所有内容,但它不起作用
001("[^"]*")*([^@]*)*@
在我脑海里
("[^"]*")*
意思是“引号之间的所有内容(如果存在)”但它不起作用
示例字符串
001exemple@001@001Semper exitialis "fkjfk"cum subsidia ductor notissimus subsidia et ductor cui@
001Annonas et "@"et contumaciter conspectum@
001Quo amicissimos ad uxoriae certamen pecuniae tamen ="@" dirimi "klkj @"contentione nullam.@
你能向我解释一下怎么做吗?
根据您的正则表达式方言,这样的事情将在结束楔形之前跳过双引号属性值。
<[Dd][Ii][vv]( [A-Za-z0-9_]*="[^"]*")* *>
带括号的表达式( [A-Za-z0-9_]="[^"]")*
匹配一个空格,后跟一个属性名称、一个等号、一个双引号、任意数量的非双引号字符(方便地包括<
和>
)和一个结束双引号。括号后的星号表示接受零次或多次。我还添加了在最后的结束语之后有一个空格的可能性。
没有办法真正完全覆盖编写良好的 HTML 中的每一个变体,更不用说使用正则表达式的现实世界的 HTML。如果您需要 HTML 解析器健壮、可读、准确和可扩展,请使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句