给定字符串
s1 = "abcfoodefbarghi"
and
s2 = "abcbardefooghi"
如何将 s1 拆分为“abc”和“defbarghi”
和 s2 到“abc”和“defooghi”
即:在字符串“foo”或“bar”第一次出现时将字符串分成两部分
我想这可以用s.split(/regexp/)
,但是这个正则表达式应该是什么?
以这种方式使用正则表达式:
var match = s1.match(/^([\S\s]*?)(?:foo|bar)([\S\s]*)$/);
/* If foo or bar is found:
match[1] contains the first part
match[2] contains the second part */
RE 的解释:
-
[\S\s]*?
匹配足够的字符来匹配 RE 的下一部分,即
-
(foo|bar)
“foo”或“bar”
-
[\S\s]*
匹配剩余的字符
RE 的一部分周围的括号创建一个组,以便可以引用分组的匹配,而(?:)
创建一个不可引用的组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)