替换标题 HTML 标签中特定属性内的德语变音

我有一个很大的 HTML 文件,里面有很多行,比如

<h1 id="anwendungsfälle-und--funktionen">Anwendungsfälle und -funktionen</h1>
 <h1 id="öl">Öl</h1>

我需要替换所有变音字符 (ü,ö,ä) 但只替换 <> 括号之间的那些(所以只用于标题 id,没有其他地方。

<h1 id="anwendungsfaelle-und--funktionen">Anwendungsfälle und -funktionen</h1>
 <h1 id="oel">Öl</h1>

Id 可能包含数字、单字符和双字符。我已经没有了如何构建 Java 正则表达式来匹配这些 id 的想法。

我试过类似的东西

(<h)\d\s(id=")[A-Za-z0-9]*([-]{1}[A-Za-z0-9]*)*(">)

但这不起作用(我知道它不是 Java 正则表达式,只是一个例子)。


慕标琳琳
浏览 182回答 2
2回答

HUH函数

您的正则表达式需要如下所示:(?<="\\Wid\\=\\\"[^\"]*)(ä)(?=[^\"]\\\"") // -> ae(?<="\\Wid\\=\\\"[^\"]*)(ö)(?=[^\"]\\\"") // -> oe(?<="\\Wid\\=\\\"[^\"]*)(ü)(?=[^\"]\\\"") // -> ...(?<="\\Wid\\=\\\"[^\"]*)(Ä)(?=[^\"]\\\"")(?<="\\Wid\\=\\\"[^\"]*)(Ö)(?=[^\"]\\\"")(?<="\\Wid\\=\\\"[^\"]*)(Ü)(?=[^\"]\\\"")(?<="\\Wid\\=\\\"[^\"]*)(ß)(?=[^\"]\\\"") // -> ss请意识到,这并不完美。可能存在边缘情况,在这种情况下这会失败。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java