我有以下字符串:的Javascript替換功能無法與正則表達式的工作
@[A:B:C].[X:Y:Z].[P:Q:R] 1.C.3.s @[1:2:3].[2:0:0].[5dsh:cxcv:wew]
我想提取從這些是在以下格式的子串:
@[anything here].[anything here].[anything here]
在上述情況下,輸出子 - 字符串應該是:
@[A:B:C].[X:Y:Z].[P:Q:R]
@[1:2:3].[2:0:0].[5dsh:cxcv:wew]
我有這個正則表達式匹配這些子字符串:
(@\w+|@(?:\[[^\]]+\]\.?)+)
爲了測試這個正則表達式我與$
在這個小提琴替換這些子串:http://jsfiddle.net/vfe50z0o/
有正則表達式沒有問題,因爲它是在這個Regex101演示工作:https://regex101.com/r/aH9nK5/1
但在JSFiddle上無法正常工作。
這是JavaScript代碼:
function myFunction() {
var re = /(@\w+|@(?:\[[^\]]+\]\.?)+)/;
var str = '[email protected][s].[s].[s]xvcv';
var subst = '$';
var result = str.replace(re, subst);
alert(result);
}
小提琴不起作用,因爲你已經把你的功能在「負載」處理程序,因此它不是全局的,所以事件處理程序失敗。將小提琴設置更改爲「nowrap - in body」,你的小提琴可以正常工作。 – Pointy
@Pointy謝謝你解決了這個問題。添加它作爲答案我會標記。 –