【问题标题】:Include the Matched A-Z in the Result Using RegEx使用 RegEx 在结果中包含匹配的 A-Z
【发布时间】:2011-12-12 19:05:44
【问题描述】:

我正在尝试使用正则表达式来解析 标签。我的正则表达式几乎和我需要的一样,有一个小问题。问题是,正则表达式不包括它找到的匹配的第一个字母。我会告诉你我的意思...首先,这是我现在使用的正则表达式:

(?<=h1.*\>[a-zA-Z0-9])(.*?)(?=\<\/)

让我们说一下我想要解析的 HTML 代码 标签看起来像这样:

<h1 align="center"><strong><font color="#FF0000">I'm an H1 Tag!!</font></strong></h1>

我使用的正则表达式与上面的 HTML 代码匹配:

我是 H1 标签!!

如您所见,它忽略了匹配的第一部分(“I'm”中的“I”)。

所以我的问题是,我如何使用我目前掌握的正则表达式来匹配我设置它的方式,但要包含它找到的第一个字母或数字(如果找到的话)?

【问题讨论】:

    标签: regex parsing html-parsing


    【解决方案1】:

    我认为您应该在括号中包含第一个字母

    (?<=h1.*\>([a-zA-Z0-9]).*?)(?=\<\/)
    

    【讨论】:

    • 您与 Jan Turon 关系密切,但您给了我想法,让我得到正确答案的我自己的问题,非常感谢。无论如何,这就是它的工作原理: (?)[a-zA-Z0-9](.*?)(?=\
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多