python - 在正则表达式 Python 中捕获 $

标签 python regex

我试图在一行中获取美元金额:

例子: blah blah blah (blah $23.32 blah) blah blac (blah) 我想捕获“$23.32”

这就是我正在使用的:r'?([\$][.*]+)'

我告诉它用 ? 找到 (...) 的一次出现 然后我告诉它找到以“$”开头的内容以及后面可能出现的任何字符(这样我也可以获得小数点)。

但是,我得到了一个错误:error: nothing to repeat

最佳答案

开头的问号是 nothing to repeat 错误的原因。

>>> import re
>>> re.compile(r'?')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/mj/Development/venvs/stackoverflow-2.7/lib/python2.7/re.py", line 190, in compile
    return _compile(pattern, flags)
  File "/Users/mj/Development/venvs/stackoverflow-2.7/lib/python2.7/re.py", line 242, in _compile
    raise error, v # invalid expression
sre_constants.error: nothing to repeat

匹配美元加上数字和点:

r'\$[\d.]+'

演示:

>>> re.search(r'\$[\d.]+', 'blah blah blah (blah $23.32 blah) blah blac (blah)').group()
'$23.32'

关于python - 在正则表达式 Python 中捕获 $,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16949415/

相关文章:

c++ - 如何获取字符串中所有发现的 boost::regex 模式的位置?

python - 如何将文本文件加载到 pandas 数据框中?

java 和 python 相当于 php 的 foreach($array as $key => $value)

python - 导出到txt哪些子文件夹是空的?

python - 在 python 中的两个对象之间存储和使用信息的最佳方式是什么?

ruby-on-rails - Ruby on Rails 单元测试在日期测试中失败

python - AWS Glue Job Cloudformation - Cloudformation 中设置的值不固定

python - 如何在 Pandas 中创建新列?

python - 正则表达式匹配 Python 函数调用

python - 正则表达式匹配模式出现后的所有内容,直到下一个模式出现,依此类推