javascript - 使用正则表达式从字符串中提取值失败
问题描述
我基本上是在尝试使用正则表达式从 API 收集数据,但是我的代码正在返回一个null
值?
我正在使用的正则表达式字符串是这样的:
let matches;
await emails.data.forEach(obj => {
console.log(obj.mail_text_only); // <div>Be sure to <a href="https://www.website.com/unlock/verifyemail.html?requestId=%2F5xHTj30QFhcXmoyOHSlXA%3D%3D&validationId=bk72uGeIEk6KWOGNE8xF%2Fs4roEANsL0Y5pgVorJIjAI%3D&bitmap=POSTPAID">confirm</a> your unlock request within 24 hours or it'll be canceled.</div>
matches = obj.mail_text_only.match(/requestId=(.*)&validationId=(.*)&bitmap=(.*)"/g);
});
console.log(matches); //null
我的字符串格式如下:
<div>Be sure to <a href="https://www.website.com/unlock/verifyemail.html?requestId=%2F5xHTj30QFhcXmoyOHSlXA%3D%3D&validationId=bk72uGeIEk6KWOGNE8xF%2Fs4roEANsL0Y5pgVorJIjAI%3D&bitmap=POSTPAID">confirm</a> your unlock request within 24 hours or it'll be canceled.</div>
当我运行console.log(matches)
它会抛出一个null
结果?
解决方案
有用。正则表达式没有引号。
let str = "https://www.website.com/unlock/verifyemail.html?requestId=%2F5xHTj30QFhcXmoyOHSlXA%3D%3D&validationId=bk72uGeIEk6KWOGNE8xF%2Fs4roEANsL0Y5pgVorJIjAI%3D&bitmap=POSTPAID"
let matches = str.match(/requestId=(.*)&validationId=(.*)&bitmap=(.*)/g);
console.log(matches);
推荐阅读
- node.js - 用户更改页面上的 socket.io 崩溃节点。zlib.js:499
- angular - 字体真棒图标未显示在 Angular Web 应用程序中
- python - 正确缩放机器学习的特征
- python - 使用“while”循环进行线性探测的哈希表
- go - Openpgp 使用 DSA 公钥进行加密
- email - 如何使用 procmail 和命令行工具对非英语电子邮件进行分类?
- javascript - 正则表达式奇怪的匹配
- javascript - 如何在 TypeScript 中解析 JSON 数据(类型:BigInt)
- javascript - 如何在反应原生 fs 中重命名/移动文件夹?
- php - Slim 4,为什么 ajax 调用成功但在 cPanel 上出现 404 错误?