Zou*_*out 2 python regex calibre
我试图使用正则表达式来匹配某个字符,只有当它不与某个字符直接相邻时。(对于 Calibre 中的电子书)
具体来说,我想匹配所有”不在句子末尾的内容,这意味着它们将位于常规字符之间,而不是尖括号或空格之间。我认为”[^<]会起作用,但这会同时选择引号和下一个字符,而不仅仅是字符本身。我也不知道如何做 OR 来检查空间。我假设它会是这样的,”[^<]|[^ ]但这也不对。
这是我想要匹配的示例:
在尖括号旁边:
<p class="calibre1">“I”m tired!”</p>
旁边空间: <p class="calibre1">“I”m tired!” he said</p>
只I”m应选择其中的引号(并且只选择引号本身)
如果对此有明显的答案,我很抱歉,但我一直在阅读 Python 的正则表达式文档,但我无法弄清楚。:(
您也许可以使用这样的负面预测(?! ... ):
”(?!<)
Run Code Online (Sandbox Code Playgroud)
这将匹配,”除非其后跟<.
要添加空间...
”(?![< ])
Run Code Online (Sandbox Code Playgroud)
”除非后跟<或空格,否则将匹配。