根据 HTML 文本匹配产品价格

2023-12-07

我正在尝试在字符串上使用简单的正则表达式来获取定价信息,但是我的preg_match_all根本就是没有找到它应该找到的东西。

我正在寻找例如$**.** or £**.**或者有时货币符号可能被编码为 HTML 实体,例如对于英镑£ or £

使用有问题吗preg_match_all寻找html实体?

这就是我正在尝试的:

$price = preg_match_all(
    '#(?:\$|\£|\€|\£|\£)(\d+(?:\.\d+)?)#', 
    $string, 
    $matches
);

但我得到:未知修饰符“1”


下面是一些明显的错误:

1) preg_match_all()预计至少有 3 个参数,因此必须是

preg_match_all(
    '#(?:\$|\£|\€|\£|\£)(\d+(?:\.\d+)?)#', 
    $string, 
    $matches
);

The $matches变量将包含匹配的字符串。你的$price将包含模式匹配的次数。请参见http://php.net/preg_match_all了解更多信息。

2)您有一个未转义的分隔符:

'#(?:\$|\£|\€|\£|\£)(\d+(?:\.\d+)?)#'
 ^                       ^                    ^
 Start                   Unescaped            End

解决这两个问题将使代码运行没有任何解析错误。它还应该回答有关匹配实体的字面问题。

但是,我有点怀疑正则表达式能否实现您想要做的事情。价格并不总是列出[CurrencySymbol][Amount]。例如,欧元通常写为 100€ 或 100 €。因此,您必须检查符号之前的数字以及之后的空格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据 HTML 文本匹配产品价格 的相关文章

  • 我可以缩短这个正则表达式吗?

    我需要检查字符串是否符合特定的 ID 格式 ID的格式如下 aBcDe fghIj KLmno pQRsT uVWxy 由五个大写或小写字母组成的五个块的序列 由一个破折号分隔 我有以下有效的正则表达式 string idFormat a
  • 如何使用正则表达式匹配模式的最后一次出现

    我有一个像这样的字符串 token1 token2 我要匹配 token2 使用正则表达式 它应该匹配的其他可能的情况是 token1 应该匹配 最后一个 token1 应该匹配 最后一个 token1 token2应该匹配 token2
  • 在值中包含换行符

    我有一个 Word 模板 其中 php 代码中定义了值 在PHP代码中 document gt setValue Value1 value1 在word模板中 Value1 如何将包含两个值之间的断线的值包含在单词的值中 Replace n
  • 从 octobercms 中的非 ajax 表单获取输入值

    我正在尝试构建一个简单的搜索功能 下面是我的搜索表格
  • 为什么验证不起作用并跳转到另一个页面?

    我写了一个customer display php来验证数据 到目前为止只有名字 但无论名字字段是否为空 网页都会跳转到customer search php并且没有更改数据库中的信息 为什么
  • 通过 facebook graph API 检索 facebook 用户的邮政编码

    我正在尝试使用 facebook graph API 检索用户的邮政编码 我正在使用以下代码 代码在php ini中 facebook new Facebook array appId gt APP ID secret gt APP SEC
  • 将 Google 信任徽章添加到 Magento

    我正在尝试将 Google Trust Badge 添加到我的 magento 商店 我尝试在 Magento 网站上搜索扩展程序 但找不到 我是否需要将以下代码粘贴到产品和结账页面 还是必须对其进行更改 如果有人能引导我走向正确的方向 我
  • PHP Solr PECL 扩展安装

    我已经使用命令安装了 pecl solr pecl install solr 和梨使用 wget http pear php net go pear phar php go pear phar 重启Apache后 我仍然收到错误 Fatal
  • Java中字符串中特殊字符的替换

    Java中如何替换字符串 E g String a adf sdf 如何替换和避免特殊字符 您可以删除除此之外的所有字符可打印的 ASCII 范围 http en wikipedia org wiki ASCII ASCII printab
  • 如何在 yii2 中使用两个不同的模型登录或切换身份类别?

    我想允许用户从两个不同的模型登录 配置文件 user gt identityClass gt app models User one more class here enableAutoLogin gt false authTimeout
  • 使用php将数据存储到文本文件中?

    我正在尝试将数据存储在文本文件中 例如使用 php 将数组存储到文本文件中 而不是存储到 mysql 数据库中 例如 这里是要存储在文本文件中的数据 name gt john age gt 25 location gt australia
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • phpunit测试调用其他需要mock的类方法的方法

    我正在尝试创建一个非常标准的单元测试 在其中调用一个方法并断言它的响应 但是我正在测试的方法调用同一类中的另一个方法 该方法做了一些繁重的工作 我想模拟该方法 但仍按原样执行我正在测试的方法 仅使用从调用另一种方法返回的模拟值 我简化了示例
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • 如何在 Zend Framework 3 中注册自定义表单视图助手

    我正在将继承的 Zend Framework 2 应用程序迁移到 Zend Framework 3 并且在注册自定义表单视图助手时遇到了一些困难 这些助手在应用程序使用版本 2 时起作用 主要用于添加标签属性以实现可访问性 例如 这是一个自
  • 如何使用 XPath 正则表达式匹配 URL

    需要 XPath 方面的帮助 我有这样一个XML
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2

随机推荐

  • 使用 Powershell 3.0 切换 IIS 7.5 身份验证“匿名身份验证”?

    我想使用 Powershell 切换 IIS 管理器 7 5 Windows 7 默认网站 我的网站 身份验证 匿名身份验证中的匿名身份验证 启用 禁用 设置 我并不是在寻找改变 web config 文件的东西 而是完全按照 IIS 管理
  • 如何使用 Dropzone 为多个图像字段在 Django 中上传多个图像

    我正在开发一个项目 其功能是用户可以使用拖放功能上传多个图像 我正在使用 Django python 进行开发 我已经在 django 模板中实现了拖放功能 但是在提交表单数据时出现图像错误 我的 Html 模板代码是
  • SparkR 收集方法因 Java 堆空间内存不足而崩溃

    使用 SparkR 我尝试使用 PoC 来收集我从包含大约 4M 行的文本文件创建的 RDD 我的 Spark 集群在 Google Cloud 中运行 部署了 bdutil 由 1 个主节点和 2 个工作节点组成 每个节点有 15GB R
  • VBA Dir 在名为“..”或 Documents.xlsx 的目录中拾取 Ghost 文件

    我相当熟悉 VBA 的使用Dir循环遍历文件夹中的文件的过程 通常 我不会遇到问题 但在我正在处理的项目中 DIR 正在获取一个据我所知不存在的文件 这最终导致我的代码调试错误 Here is a screenshot of the fol
  • Xcode Swift am/pm 时间转为 24 小时格式

    我正在尝试将 am pm 格式时间转换为 24 小时格式时间 6 35 PM to 18 35 我在操场上尝试了这段代码 但似乎没有 如果我有时间独自工作 let dateAsString 02 12 15 6 35 PM let date
  • 为什么循环顺序会影响二维数组迭代时的性能?

    下面是两个几乎相同的程序 除了我切换了i and j周围的变数 它们运行的 时间不同 有人可以解释为什么会发生这种情况吗 版本1 include
  • python/tkinter 绘图程序撤消函数

    我尝试在我的绘画程序中添加一个撤消功能 该功能从画布中删除对象 创建的每个对象都附加到堆栈中 我尝试了它 它可以工作 但屏幕不会仅在第一个撤消时更新 因此如果我绘制 3 条线然后我撤消什么也不会发生 当我一次又一次撤消时 第二行和第三行将被
  • 在 ImageView 上的 OnTouch 中返回 false,但事件仍然被消耗

    我在用ImageView onTouch 我返回 falseACTION MOVE但仍然是onTouch 事件被消耗 imageView setOnTouchListener new View OnTouchListener Overrid
  • 交换字符串中的大小写[重复]

    这个问题在这里已经有答案了 我正在尝试解决Hackerrank 中的这项挑战 它要求将所有小写字母转换为大写字母 反之亦然 我尝试使用以下代码 def swap case s length len s i 0 while length if
  • 从 R 闪亮的 selectInput 中过滤

    我试图让用户上传 csv 文件 然后获取该 csv 文件的一列 因子 并创建用户输入 以确定将为数据框选择该字段中的哪个唯一名称 因此 如果我有以下示例 data frame COURSE VALUE 1 A 7 2 C 2 3 C 2 4
  • 在 SSIS 中动态更改服务器名称

    我的 SSIS 包在开发周期 开发 QA 暂存和生产 期间会经历多个环境 因此我想使用 SSIS 中的配置来设置连接管理器中的服务器名称 这样我就不会不需要手动完成此操作 我读过有关使用 xml 配置文件 SQL 配置表和环境变量的内容 然
  • 谷歌地图:未捕获的类型错误:类型错误

    在几个页面上 我开始收到上述错误 但仅在 Chrome 中 这是一些简单的代码来演示该错误
  • 使用 boost::dynamic_bitset 作为键值对序列化 boost::bimap

    我有兴趣序列化boost bimap含有boost dynamic bitset这样我就可以保存它并在需要时加载回来 我已经尝试这样做 但遇到了很多错误 我随身携带的代码如下 Example program include
  • python 中的布尔值是可变的吗?

    我在 python 中有以下代码 def update request id success 0 try product Mattress objects get id id success 1 except Mattress DoesNo
  • C# 内存地址和变量

    在C 中 有没有办法 获取存储在a中的内存地址 引用类型变量 获取a的内存地址 多变的 EDIT int i int pi i 如何打印 pi 的十六进制值 对于 2 运算符的工作方式与 C 中相同 如果变量不在堆栈上 您可能需要使用fix
  • 从“SecKeychainFindGenericPassword”给出的“SecKeychainItemRef”中提取“用户名”?

    从这个问题 我知道你可以使用SecKeychainFindGenericPassword without用户名值 它仍然会返回给定服务的钥匙串项 但是我如何获取用户名呢 仅使用服务名称获取存储在钥匙串中的用户名 或者 您应该在哪里存储用户名
  • 是否可以将网页内容读入字符串中,以便我可以解析数据?

    我希望能够让我的 iPhone 将 URL 或者实际上是 url 指向的文件 加载到字符串中 我希望能够执行此操作的原因是这样我就可以解析字符串以查找标签并从中提取一些值 这些文件主要是网页 例如 html 或 asp 等 有人能给我一些提
  • 导出并发布 Typescript 中的所有类型和接口

    我正在尝试发布一个打字稿库 我不清楚如何公开所有类型和接口 这是我的设置 mylib src types mytypes ts index ts package json tsconfig json index ts import MyIn
  • Firefox - 删除未修饰复选框的边框

    我有一个复选框appearance none 这在 Chrome 中有效 但在 Firefox 中它留下了一个我无法删除的插入边框 我努力了border none已经 我这里有一个小提琴 http jsfiddle net jcJJ5 不幸
  • 根据 HTML 文本匹配产品价格

    我正在尝试在字符串上使用简单的正则表达式来获取定价信息 但是我的preg match all根本就是没有找到它应该找到的东西 我正在寻找例如 or 或者有时货币符号可能被编码为 HTML 实体 例如对于英镑 pound or 163 使用有