优秀的编程知识分享平台

网站首页 > 技术文章 正文

Python文档中的正则表达式和XPath,你了解多少?

nanyue 2024-11-14 16:47:03 技术文章 2 ℃

Python中的正则表达式和XPath都是用来从文本中提取信息或定位特定元素的工具,但它们的应用场景和语法有所不同。

1. 正则表达式(Regular Expressions):

- 正则表达式是一种强大的文本匹配工具,用于在字符串中查找特定模式的文本。

- 在Python中,可以使用内置的`re`模块来操作正则表达式。

- 例如,`re.findall(pattern, text)`可以用于从文本中找到所有匹配给定模式的子字符串。

import re

text = "Hello, my email is example@email.com"

pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'

emails = re.findall(pattern, text)

print(emails

2. XPath:

- XPath 是一种在 XML 文档中定位元素的语言,但它同样适用于 HTML 文档。

- 在 Python 中,可以使用诸如 `lxml` 或 `xml.etree.ElementTree` 这样的库来处理 XPath。

- 例如,`lxml` 库提供了 `xpath()` 方法,可以对 HTML 或 XML 文档进行 XPath 查询。

from lxml import html

html_content = "

Hello, world!

"

tree = html.fromstring(html_content)

result = tree.xpath("//p/b/text()")

print(result)

无论是正则表达式还是XPath,都有其适用的场景。正则表达式适用于灵活的模式匹配,而XPath适用于结构化的文档(如HTML或XML)中的元素定位和提取。

Tags:

最近发表
标签列表