首页 > 解决方案 > 口径搜索和替换但保持单个字符

问题描述

我正在尝试删除许多

</p><p class="calibre1">

但仅当此字符串后紧跟 Calibre 中的小写字母时。将其替换为 '' 后跟小写字母。(当有大写字母或数字或其他任何东西时,字符串应该保留......)在正则表达式,区分大小写的模式下,我可以使用这个正则表达式轻松找到这些字符串:

</p><p[^>]*>[a-z].....

但是,我当然也需要用以前的字母替换小写字母。有没有一种巧妙的方法可以做到这一点,或者我需要为此编写自己的正则表达式函数吗?

标签: regexcalibre

解决方案


您正在寻找积极的前瞻性

搜索</p><p[^>]*>(?=[a-z])并将其替换为[empty string].

确保它仅在(?=[a-z])后跟一个小写字母时才匹配,但它不消耗所述字母,仅删除</p><p[^>]*>部分。


更新:您可能会遇到换行符的问题,请查看@AFK在这种情况下的回答。


推荐阅读