我有這樣的字符串;正則表達式匹配字符串,直到不需要的部分
[0]: http//www.somelink.com[Some Text][0]
[Some Text][0]
是可選的。它可以存在或不存在。
我想匹配[0]: http//www.somelink.com
0變爲1
爲此,我使用這個代碼; string.replace(/(\[)\d+(\]:.+)(\[.*?\]\[\d+\])?/, "$11$2");
,但我想becouse (\[.*?\]\[\d+\])?
是可選+
消耗的所有字符即使[一些文本] [0]或不
我也試過string.replace(/(\[)\d+(\]:[^\\[]+)(\[.*?\]\[\d+\])?/, "$11$2");
這個工作,但如果有一個[前[某些文本] [0] +
停止匹配
,我也試過這種string.replace(/(\[)\d+(\]:.+)(?!\[.*?\]\[\d+\])/, "$11$2");
卻又+消耗一切
有什麼辦法,以每一個字符,包括[
匹配,直到[Some Text][0]?
更改所有'\ [\ d + \]''到[1]'如果字符串匹配'somelink.com'? [這個小提琴]怎麼樣(http://jsfiddle.net/x6mn1387/) – 2014-08-28 17:08:41
從你的正則表達式看起來你試圖改變[0] http到'[1] http'並刪除'[一些文本] [ 0]'爲什麼這是模糊的?另外,這是整個字符串的一個例子嗎? – sln 2014-08-28 17:19:17
@Jonny 5我使用'd'因爲它可以是任何數字 – MOD 2014-08-28 17:26:52