假设你有一个字符串:“ABC牛跳过XYZ月亮”你想用jQuery来获取“ABC”和“XYZ”之间的子串,你会怎么做?子串应该是“牛跳过”.非常感谢!
最佳答案
这与jQuery无关,jQuery主要用于DOM遍历和操作.你想要一个简单的正则表达式:
var str = "The ABC cow jumped over XYZ the moon";
var sub = str.replace(/^.*ABC(.*)XYZ.*$/m,'$1');
我们的想法是使用带有正则表达式的String.replace,它与开始和结束分隔符匹配,并用分隔符之间匹配的部分替换整个字符串.
第一个参数是正则表达式.尾随m使其匹配多行,这意味着ABC和XYZ之间的文本可能包含换行符.其余细分如下:
> ^从字符串的开头开始
>.*一系列0个或更多字符
> ABC你的开场分隔符
>(.*)匹配一系列0个或更多字符
> XYZ您的结算分隔符
>.*一系列0个或更多字符
> $匹配到字符串的结尾
第二个参数,即替换字符串,是’$1′. replace将替换来自常规exprseion的括号中的子匹配 – 上面的(.*)部分.因此,返回值是整个字符串替换为分隔符之间的部分.