匹配正则表达式或(管道)子句中的两个精确字符
match two exact characters in regex or (pipe) clause
我正在尝试将速记符号解析为整数表示。这适用于小时、秒和分钟,但不适用于毫秒,因为正则表达式不匹配。
'50ms'.match(/^('d+)([MS|S|M|H|ms|s|m|h])$/);
我不确定如何正确表达问题,但在问这里之前我确实进行了几次搜索。
斯菲德尔
如果需要匹配字符序列,则需要使用(...|...)
构造的交替组。
字符类仅匹配其中定义的单个字符。在此处查看有关角色类的更多详细信息。
您的正则表达式不适用于毫秒,因为您需要在数字后立即跟字符串末尾的 1 个字符。因此,没有 2 个字母"ms"的位置。
所以,正确的方法是使用
'50ms'.match(/^('d+)(MS|S|M|H|ms|s|m|h)$/);
正如 Tushar 所建议的那样,您可以使用/i
修饰符进一步收缩模式并减少替代方案的数量。
/^('d+)(MS|ms|[SMH])$/i
查看此演示
相关文章:
- 如何检查两个字符串是否具有相同的字符,包括特殊字符
- 如果两个跨度有数据,则添加字符
- 如何在jQuery中搜索两个字符之间的字符串
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- Javascript 密码不应包含用户的帐户名或用户全名中超过两个连续字符的部分
- 电子邮件验证不接受仅包含两个字符的域
- 如何完成此循环?连接前面的两个字符
- 如何使用jQuery获取url的最后两个字符
- Javascript-使用Regex获取两个字符之间的字符
- Regex表达式,用于替换两个字符(包括字符)之间的字符串
- 通过JQuery在网页上的两个字符之间放置空格
- 如果两个波浪号字符之间的字符计数大于60,则在两个波浪字字符之间添加波浪号
- javascript:如何使用regex删除两个特殊字符之间的逗号(,)
- 如何匹配两个字符内的重复模式
- 在javascript中组合使用连字符连接的两个字符串
- Regex/Javascript;否定地选择两个字符的重复
- 匹配单词中两个相等的字符,并替换为一个RE
- 正则表达式不匹配序列中的两个相同字符
- 如何提取两个字符之间的字符串
- 如何在 javascript 中替换两个声明字符之间的字符串