javascript - 正则表达式不捕获多个字符
问题描述
我有一个百分比值的输入字符串,即“40%*”、“90%*”等。我写了一个正则表达式来捕获数字,以便我可以将其转换为数字并对其进行数学运算(比较)。为此,我使用了以下正则表达式,它适用于这种类型的输入:
'40%*'.match(/[^%]*/)[0] // Outputs '40'
但是,有时输入看起来像这样:“<10%*”。由于这种极端情况,我的正则表达式有一个错误。为了修复,我尝试了这个:
'<10%*'.match(/[^[%<]]*/)[0] // Outputs '1'
但现在它只会捕获 str.match 上的“1”,而不是完整的“10”。我不确定为什么看起来匹配 0 个或更多字符的 * 运算符似乎只匹配 1 个字符?
解决方案
推荐阅读
- python - 执行 NER(命名实体识别)的过程 - NLP
- uwp - 在外围设备端断开连接后(重新)连接 - UWP
- python - 如何在 Pandas 中过滤带有条件空白字段的记录
- video - FFmpeg 丢失视频文件的转换
- tensorflow.js - 如何检查 tfjs 模型是否正确加载到浏览器
- r - 一个运行完全相同的数据,另一个不在 R 中类似 lm() 的函数中运行
- postgresql - 为什么 pg_dump 不转储表内容?
- php - 单击按钮时很难使用 AJAX 发布图片
- sql - 根据 SQL Server 中时间戳的差异过滤掉行
- jquery - 在jsp输入字段中固定某些值