regex - 简单的正则表达式在 Chrome 扩展中不起作用(Popup.js)
问题描述
我有一个让我发疯的问题。所有其他正则表达式都在工作,但如果它包含一个字母,它们就会“停止”工作。
字符串如下:
مسلسل The Outsider 2020 الموسم الاول الحلقة 8 مترجمة
我想得到数字“8”。文字可以理解为“Series x Season y Episode NUMBER”。我正在尝试使用以下正则表达式获取号码:
/(?<=.*الحلقة.*)[0-9]+(?=.*)/g
在此处https://regexr.com/或在控制台上应用它时工作正常。我在 Popup.js 文件中实现它。
以下正则表达式工作正常,没有问题
/(?<=title=")(.*?)(?=")/
我的 JS 代码来获取正则表达式:
let episodeNumber = item.match(/(?<=title=")(.*?)(?=")/)[0];
console.log("t: " + episodeNumber);
episodeNumber = episodeNumber.match(/(?<=.*الحلقة.*)[0-9]+(?=.*)/g);
console.log(episodeNumber);
第一个日志给了我结果(上面的文本)第二个日志在控制台中给出了 null。这真的很奇怪。
如果正则表达式格式不正确,请将“الحلقة”替换为“Episode”。它是阿拉伯语,这就是为什么它在格式上看起来很奇怪。
解决方案
推荐阅读
- python-3.x - 如何使用 cv2 提高使用 python3 播放图像的速度
- apache - ModRewrite 如果文件存在具有 RewriteBase
- sql - BI 数据建模 - 传统与新方法
- firebase - 如果您有一个巨大的节点,如何在 Firebase 实时数据库中搜索?
- spring-boot - 如何使用 MockMVC 测试使用 org.apache.commons.fileupload 的控制器?
- java - 如何配置 Maven 不将版本信息添加到可执行 jar 文件中的库名称?
- python - 区分导入的和全局定义的模块属性
- javascript - Mongoose 返回对象的内部操作是什么?
- javascript - 如何通过 hls.js 跳转到 hls 流中的具体 UTC 时间戳
- reactjs - 你如何在反应 TINYMCE 中获得光标位置