专家
我发誓我上传了很多正则表达式的东西来研究,但我发现正则表达主题对我来说太难理解了。对我有什么好的建议吗?
任何人都可以向我解释为什么<p[^>]*>
可以简单地移除开始<p>
或<p attr="">
?
我能做什么,如果我想从
<div style="float: left; width: 350px; border: 1px solid #000000;" class="star1">abcdk</div>
到这个
<div class="star1">abcdk</div>
提前致谢。
答案 0 :(得分:0)
建议:使用regex tester进行游戏以获得与之匹配的内容。
杰森的解释很好,但如果刚开始使用正则表达式,可能还不够深入。我们一次只需<p[^>]*>
一件:
<
对正则表达式引擎没有特殊意义,因此它意味着它只匹配单个<
[abc]
将匹配任何单个字符“a”,“b”或“c”。[abc]
匹配任何提到的单个字符,[^abc]
将匹配 提及的任何单个字符。>
没有特殊含义:只匹配一个>
>
仍然没有特殊含义,就像之前的所以我们可以将<p[^>]*>
分成三部分,我们可以说它匹配任何一系列字符:
<p
:以文字<p
开头,[^>]*
:后跟0个或更多不是>
的字符,>
:以文字>
结尾。哦,http://www.regular-expressions.info是我在网上找到的最好的正则表达式指南之一。
答案 1 :(得分:0)
<p[^>]*>
将<p
与除>
以>
结尾的任何字符匹配。在这种情况下,<p>
标记包含或不包含属性。
对于<div>
标记,您只需修改上面的正则表达式即可。一个简单的例子是:
<div[^>]* class="star1">
对于更灵活的东西(即类属性不必在最后):
<div[^>]*class="star1"[^>]*>
我鼓励您了解有关正则表达式的更多信息。它们是一个非常强大的工具。