2014-03-13 73 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