|
|
1
6
我相信一些正则表达式大师可以拼凑出近似于解决方案的东西,但这不是一个好主意: HTML isn't regular . 请考虑一个HTML解析器,它能够识别这些问题,或者自己解析。 |
|
|
2
2
是的,它需要递归处理,而且可能相当深(当然也可能是一个奇特的循环),它不会用正则表达式来完成。您可以制作一个处理几层深度的正则表达式,但不能只处理任何html文件。这是因为解析器必须记住在流中任何给定点打开的标记,而regex在这方面并不擅长。 使用带有一些计数器的SAX解析器,或者使用带有弹出/按下的堆栈来保持状态。想一想如何编写这个游戏,看看我说的html标记深度是什么意思。 http://en.wikipedia.org/wiki/Tower_of_Hanoi |
|
|
4
1
不,这对于正则表达式来说太复杂了。您的问题相当于测试一个正确使用括号的算术表达式,它至少需要一个 pushdown automaton 为了成功。 在您的例子中,您应该将HTML代码拆分为开始标记、结束标记和文本节点(例如,使用正则表达式)。将结果存储在列表中。然后,您可以遍历节点列表并将每个开始标记推送到堆栈上。如果在节点列表中遇到结束标记,则必须检查最顶端的堆栈条目是否为相同类型的开始标记。否则,您会发现查找的html语法错误。 |
|
|
5
1
我有个案子
是
|
|
|
6
1
您可以使用正则表达式来标识所有html开始/结束元素,然后使用堆栈枚举、推送新元素并弹出结束标记。用C#试试这个-
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Jamie · 在CSS链接的文件名中添加Jinja占位符 1 年前 |
|
ptownbro · 重叠分区标签,同时保持以下所有分区和内容就位 1 年前 |
|
|
john Rizzo · 按钮背景颜色、悬停和活动状态存在问题 1 年前 |