2011-06-08 137 views
0

我希望有人能夠幫助我在javascript中找到合適的正則表達式,滿足以下語句的要求。我已經嘗試了一些表達式,但在搜索中包含星號字符作爲字符文字會使事情複雜化。需要正則表達式的幫助

定的字符串str,匹配並用正確的轉義序列替換星號字符出現的所有把它當作字符文字,卻忽略包含在字符串中像這樣的序列中的任何星號:< *>

任何幫助,非常感謝。 丹尼爾

+4

你試過什麼樣的表情? – 2011-06-08 10:03:34

+0

給我們一些例子,說明你想要匹配什麼,你不想匹配什麼(以及你當然試過的東西;)) – stema 2011-06-08 10:13:12

+1

聽起來像你要求我們爲你做作業或面試作業。 – 2011-06-08 10:15:34

回答

0
var x='xx**<*>*><*<*>>>*'; 
    x=x.replace(/(<)?\*(>)?/g, function($0, $1 ,$2){ 

     return $1 ? $2 ? $0 : 'y' : $2 ? 'y' : 'y'; 
}); 
alert(x); 

http://jsfiddle.net/yDT25/

0

如果它正是你必須避免在更換*(和你正在使用PCRE等),那麼你可以使用類似的<*>序列: /(?<!<)\*(?!>)/

+1

javascript不支持lookbehinds – amal 2011-06-08 10:59:17

+0

該死的js,沒有注意到標籤。 – Qtax 2011-06-08 11:09:15