2014-03-13 67 views
0

如何通过正则表达式匹配()将我的字符串分开? 我只想使用jQuery RegEx。jquery regexp - 正则表达式

var MyStr = 'BeginStr ABCDEF EndStr' // The result should: ABCDEF 

如何区分“ABCDEF”?

下面是一个解决方案,但我喜欢改进它,我该如何消除函数replace()? 我只想使用一次函数match()。

var MyStr = 'BeginStr ABCDEF EndStr'; // The result should: ABCDEF 
sRegEx = /BeginStr.*?(?=EndStr)/; 
var sResult = String(MyStr.match(sRegEx)); // It results: BeginStr ABCDEF 
var sMenuPoint = String(MyStr.match(sRegEx)).replace(/BeginStr/, ''); // It results: ABCDEF 
alert(sResult); 

在此先感谢, 桑德罗。

+4

的代码示例不使用jQuery,只是普通的JavaScript的。 – Douglas

+0

对不起。我纠正我的字符串:要切割的字符串在“BeginStr”和“EndStr”之间。 var MyStr ='任意字符串BeginStr ABCDEF EndStr other string'; – user3417601

+0

谢谢,它的工作原理:) 但我仍然想知道它是否可行match()? 这是更正的字符串: var MyStr ='任意字符串BeginStr ABCDEF EndStr other string'; – user3417601

回答

2

使用简单的replace()功能会为你做它用组捕获($1$2等)一起:

sResult = MyStr.replace(/.*BeginStr(.*?)(?=EndStr).*/, "$1"); 

sResult = MyStr.replace(/.*BeginStr(.*?)EndStr.*/, "$1"); 
+0

尽管我同意你的解决方案,OP问我'如何消除函数replace()?' – axelduch

+0

@aduch我认为'imporove it'意思是只使用一个函数,可以是'替换'或'匹配'。可能是我很困惑! –

+0

也许我是一个迷茫的人+1。 – axelduch