2011-07-05 55 views
1

我有一個像使用JavaScript正則表達式

"Employee Name is Jason Taylor" 

我需要一個正則表達式來提取的是在"is"

"Employee Name" 

左側的字符串分割字符串,另一個提取什麼在右邊"is"

"Jason Taylor" 

我有這個

function BreakString(string) {  
    return string.replace(/((.+?)(is)).*/, '$1'); 
} 

返回"Employee Name is"

能否請你幫我解決這個問題?

回答

7

你錯過了一個反向引用:

function BreakString(string) {  
    return string.replace(/(.+?) is (.*)/, '$1 $2')); 
} 

或沒有正則表達式

function noIs(str) { 
    var parts = str.split(" is "); 
    return parts[0] + ":" + parts[1]; 
} 
+0

沒有什麼要求 - 他正試圖在這裏進行更換操作 - 一個正則表達式比分割字符串,在每個部分執行替換都更優雅然後重新組合。這就是他問這個問題的原因。 – BonyT

+0

提供的答案確實做了他以後的事情。如果缺少某些東西,這個問題就沒有提及。 – Niklas

+0

現在我也有一個正則表達式:) – mplungjan

2
([^.]+) is ([^.]+) 

似乎工作

+0

爲日本表情+1 – mplungjan