正则表达式中的可选空格
解析 HTML 或文本数据时,通常需要忽略某些字符之间的空格。然而,使用正则表达式这可能具有挑战性。
使用 s 的解决方案?和 s* 量词
要匹配字符之间的可选空格,请使用量词 s?和 s*.
示例
要忽略以下 HTML 标记中的空格:
<code class="html"><a href="/wiki/File:Sky1.png" title="File:Sky1.png"> <img alt="Sky1.png" src="http://media-mcw.cursecdn.com/thumb/5/56/Sky1.png/150px-Sky1.png" width="150" height="84"> </a></code>
使用以下正则表达式:
'#<a href\s?="(.*?)" title\s?="(.*?)"><img alt\s?="(.*?)" src\s?="(.*?)"[\s*]width\s?="150"[\s*]height\s?="(.*?)"></a>#'
此表达式允许在属性名称和属性名称之间使用可选的空格它们的值,以及属性值和周围的 HTML 标签之间的关系。
字符类注释
原始代码使用字符类 [s ],这导致了意想不到的结果。字符类与其任何成员匹配一次,并且 量词允许它出现多次。通过将 [s] 替换为 s,您可以确保仅匹配空白字符,并且量词专门应用于它们。
以上是如何在 HTML 解析中忽略正则表达式中的可选空格?的详细内容。更多信息请关注PHP中文网其他相关文章!