有人可以解释一下这个正则表达式意味着什么吗?
#<hr(.*)class="system-pagebreak"(.*)\/>#iU
Run Code Online (Sandbox Code Playgroud)
有没有工具将这些常规表达式转换为普通单词?
它正在尝试*匹配任何<hr>具有class="system-pagebreak"属性的标记.
和(.*)之间的段hr和class关闭/>匹配"零个或多个字符",因此它可以匹配类似的东西
<hr id="what" class="system-pagebreak" style="display:block" />
Run Code Online (Sandbox Code Playgroud)
将#iU在年底使之不区分大小写(i)和ungreedy( U),这样的.*比赛不会吃了整个文档.
有没有工具将这些常规表达式转换为普通单词?
并不是的?你能说"正常的话"是什么意思?这是一个非常直接的正则表达式,你不能在不失去意义的情况下将它"转换"为其他任何东西.虽然有很多用于测试正则表达式的站点,例如Regex101.
*请注意,我说尝试是因为这是尝试与(X)HTML交互的一种非常糟糕的方式,并且肯定会最终破坏.您应该使用DOM解析器.