标签: javascript regex
我希望匹配substitute的所有有效前缀,后跟其他字符,以便
substitute
sub/abc/def
sub
substitute/abc/def
subt/abc/def
t
我现在的正则表达式是/^s(u(b(s(t(i(t(u(te?)?)?)?)?)?)?)?)?/,它有效,但这看起来有点冗长。
/^s(u(b(s(t(i(t(u(te?)?)?)?)?)?)?)?)?/
有没有更好的(如更简洁的方式)这样做?
答案 0 :(得分:2)
这与您在问题中提到的相同。
^s(?:ubstitute|ubstitut|ubstitu|ubstit|ubsti|ubst|ubs|ub|u)?
上面的正则表达式总是会尝试匹配大字。所以首先检查substitute,如果它找到任何,那么它会匹配,否则它会跳转到下一个模式,即substitut,同样它会继续u。
substitut
u
DEMO 1 DEMO 2
答案 1 :(得分:1)
你可以使用两步正则表达式
^(\w+)
^subs