r3wt
我正在尝试将速记符号解析为整数表示形式。这适用于小时,秒和分钟,但不适用于正则表达式无法匹配的毫秒。
'50ms'.match(/^(\d+)([MS|S|M|H|ms|s|m|h])$/);
我不确定如何正确地表达问题,但是在询问之前确实进行了几次搜索。
jsfiddle
维克多·史翠比维
如果需要匹配字符序列,则需要使用与构造抗辩的交替组(...|...)
。
一个字符类只匹配它定义的单个字符。在此处查看有关角色类的更多详细信息。
因为你需要1个字符的数字,随后用绳子结束后,您的正则表达式不毫秒工作立即。因此,没有2个字母“ ms”的位置。
因此,正确的方法是使用
'50ms'.match(/^(\d+)(MS|S|M|H|ms|s|m|h)$/);
正如Tushar所建议的,您可以使用/i
修饰符进一步缩小模式,并减少替代项的数量。
/^(\d+)(MS|ms|[SMH])$/i
看这个演示
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句