捕获 2 个字符 ('=' 和 'I' 之间信息的 Python 正则表达式代码

标签 python regex web-scraping

(是的,我知道有相关的正则表达式问题询问如何捕获两个字符之间的信息。我尝试过,但它们对我不起作用。我还尽可能深入地阅读了正则表达式教程。)

我有一段代码,它使用 BeautifulSoup 从网站上抓取一些信息,格式如下:汇率:1 USD = 60.50 INR

该字符串存储在名为“data”的变量中。我必须从该字符串中捕获“60.50”。我有这样的代码:

data = _funct()
rate = re.search("?<=\=)(.*?)(?=\I" , data)
print rate

这不起作用。我哪里出错了?

最佳答案

您可以使用像这样的简单正则表达式:

(\w+\.\w+)

<强> Working demo

正如您所看到的,正则表达式背后的想法是:

( ... ) Use parentheses to capture the content
\w+\.\w+  any alphanumeric followed by a dot plus more alphanumeric.

如果您只想捕获数字,可以使用:

\d+\.\d+

enter image description here

如果您查看 python 代码生成器,您可以获得以下代码:

import re
p = re.compile(ur'(\w+\.\w+)')
test_str = u"Exchange rate: 1 USD = 60.50 INR"

re.search(p, test_str)

关于捕获 2 个字符 ('=' 和 'I' 之间信息的 Python 正则表达式代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28214868/

相关文章:

python - 使用python为组中的每个元素添加一个序列号

python - mod_python 发布者和漂亮的 URL

java - 未找到元素异常 : HTMLUnit - Search By ID

javascript - 用于受密码保护的网站的 nodejs 网络抓取工具

python - 如何访问这个没有 id 的 <div class> 内的文本?使用BeautifulSoup

python - 使用 rpy2 将 .R 文件采购到 python 中的问题

PHP MySQL REGEX 匹配搜索

regex - 合并行落在之间但不包括 sed 的重复模式

python - 使用带有特殊字符的正则表达式在 python 中查找匹配项

javascript - 单击按钮后等待 ajax 请求解决