相关疑难解决方法(0)

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)

但不是这些:

<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)

我想出了这个,并希望确保我做对了.我只抓住了a-z.

<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

正则表达式只匹配最里面的分隔序列

我有一个字符串,其中包含由多个字符分隔的序列:<<>>.我需要一个正则表达式才能给出最里面的序列.我已经尝试过前瞻,但它们似乎没有像我期望的那样工作.

这是一个测试字符串:

'do not match this <<but match this>> not this <<BUT NOT THIS <<this too>> IT HAS CHILDREN>> <<and <also> this>>'
Run Code Online (Sandbox Code Playgroud)

它应该返回:

but match this
this too
and <also> this
Run Code Online (Sandbox Code Playgroud)

正如你可以看到的第三个结果,我不能只使用/<<[^>]+>>/因为字符串可能有一个分隔符,但不是连续两个.

我刚从试错中恢复过来.在我看来,这不应该是这么复杂.

regex perl delimiter lookahead

3
推荐指数
2
解决办法
1393
查看次数

匹配对标记与正则表达式

我正在尝试从xhtml文档中检索其内容的特定标记,但它匹配错误的结束标记.

在以下内容中:

<cache_namespace name="content">
    <content_block id="15">
    some content here

        <cache_namespace name="user">
            <content_block id="welcome">
            Welcome Apikot!
            </content_block>
        </cache_namespace>
    </content_block>
</cache_namespace>
Run Code Online (Sandbox Code Playgroud)

id ="welcome"的content_block结束标记实际上被匹配为第一个打开的content_block标记的结束标记.

我正在使用的正则表达式是:

/<content_block id="(.*)">([\w\W]*?)<\/content_block>/i
Run Code Online (Sandbox Code Playgroud)

关于我失败的地方的任何指示?

regex html-parsing

2
推荐指数
1
解决办法
5968
查看次数

标签 统计

regex ×3

delimiter ×1

html ×1

html-parsing ×1

lookahead ×1

perl ×1

xhtml ×1