[英]Regular Expression match character OR number
我想得到一个由类型(数字或字符)分隔的字符串部分
简化初始情况:
var content = 'foo123bar456';
期望的结果:
result = ['foo', 123, 'bar', 456];
这是我到目前为止匹配第一个“foo”
^(([a-z])|([0-9]))+
我认为这将匹配字符[az] + OR数字[0-9] +(在这种情况下匹配'foo'),但不幸的是它同时允许两个(字符和数字)。
如果它只匹配具有相同类型的字符,我可以在我的正则表达式中添加“{1,}”以匹配模式的所有出现,并且世界会更好一些。
正确的正则表达式将是:
([a-zA-Z]+|[0-9]+)
正则表达式的解释是:
NODE EXPLANATION
--------------------------------------------------------------------------------
( group and capture to \1:
--------------------------------------------------------------------------------
[a-zA-Z]+ any character of: 'a' to 'z', 'A' to 'Z'
(1 or more times (matching the most
amount possible))
--------------------------------------------------------------------------------
| OR
--------------------------------------------------------------------------------
[0-9]+ any character of: '0' to '9' (1 or more
times (matching the most amount
possible))
--------------------------------------------------------------------------------
) end of \1
使用g
修饰符以及全局匹配
[a-zA-Z]+|[0-9]+/g
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.