javascript - 如果条件,javascript中稍微不同的字符串的正则表达式
问题描述
所以我陷入了这个问题的循环,这应该相对容易,问题是我有来自数据库的稍微不同的字符串:
本田 VIP..., 本田 LL Ultra..., 本田 LL..., 本田 LL start 5000i, 本田 LL Ultra 5000i
如果出现的字符串是(Honda VIP...,Honda LL Ultra...,Honda LL...),我在哪里显示 image1.svg , 本田 LL 超 5000i)
我的代码是:
...
else if (panel.match(/Honda VIP|Honda LL Ultra|Honda LL/i)) {
return 'asset/image1.svg';
else if (panel.match(/Honda LL start 5000i|Honda LL ultra 5000i/i))
return 'asset/image2.svg';
但返回总是 image1,因为如果落在“Honda LL”或“Honda LL ultra”。如果:
panel.match(/Honda LL\s+start\s+5000i|Honda LL\s+ultra\s+5000i/i)
但没有结果。
有人可以帮我吗?
解决方案
无论这种语言是什么,看起来Honda LL
第一个正则表达式末尾的 都匹配第二个正则表达式匹配的所有内容。
交换条件,以便首先匹配更具体的模式:
else if (panel.match(/Honda LL start 5000i|Honda LL ultra 5000i/i))
return 'asset/image2.svg';
else if (panel.match(/Honda VIP|Honda LL Ultra|Honda LL/i)) {
return 'asset/image1.svg';
推荐阅读
- excel - excel : 判断是否存在多个单元格的组合并输出结果
- database - 为什么我会看到此错误:没有这样的列:编号(代码 1):,同时编译:DELETE FROM Users_Table WHERE number =?
- java - 在 Spring Boot 中使用 JVM -Duser.timezone 动态设置 MySql 时区
- macos - 恢复到适用于 macOS 的 VSC 1.31.1 但大纲不起作用
- xcode - SpriteKit alpha 蒙版在 iOS 13.4 上不起作用
- watir - 运行 ruby watir 自动化测试脚本时 Selenium 警告弃用
- java - 如何每次单击按钮时添加新的 Textview
- javascript - AudioWorklet 是否为在 PC 和 Android 上播放声音 Chrome 提供最低延迟?
- .htaccess - 将带有语言变量的 url 重定向到不同的 url htaccess
- javascript - 将数字存储在javascript变量中,然后在脚本运行时添加到它?