有一个很长的XML格式的文本,如:
><span class='ocrx_word' id='word_1_21_0_1_0' title='bbox 409 912 417 927'><</span><span class='ocrx_word' id='word_1_21_0_1_1' title='bbox 416 911 446 925'><forest>...
这个hocr文本是由谷歌文档人工智能。我想使用hocr文件制作一个可搜索的pdf,但当我尝试制作pdf时,我使用的pdf库显示错误。库将单词<forest>
作为损坏的xml元素处理。所以我想把单词<forest>
替换成<forest>
。
我可以使用正则表达式找到模式:(?!<(div|span|\/span).*>)(<.*>)
此表达式排除了<span>
和</span>
元素,仅包含<
和>
之间的单词。但是我怎么能只改变第一个和最后一个字符呢?
1条答案
按热度按时间b1uwtaje1#
您可以使用以下指令:
注意,
<
和>
被排除在捕获组之外。我还将
.*
替换为[^<>]*
,因为.
还匹配<
和>
。查看here演示。