'{5}<blah>{0}</blah>'
我想將其轉換成:用大括號作爲分隔符來分割一個字符串?
我目前使用的:________.split(/({.*?})/);
但是當大括號是第一個字符的情況一樣失敗:
'{0}<blah>'
它變成: ['', '{0}', '<blah>']
... 3元素陣列,而不是2
我的正則表達式有什麼問題?
謝謝!
'{5}<blah>{0}</blah>'
我想將其轉換成:用大括號作爲分隔符來分割一個字符串?
我目前使用的:________.split(/({.*?})/);
但是當大括號是第一個字符的情況一樣失敗:
'{0}<blah>'
它變成: ['', '{0}', '<blah>']
... 3元素陣列,而不是2
我的正則表達式有什麼問題?
謝謝!
你的正則表達式沒有問題,但是你如何使用split,有一個問題。 Split根據分隔符返回一個數組,所以如果分隔符是FIRST,它將爲分割項的左側和右側提供這些東西。
只需檢查第一項=='',如果它是移除它。
你在閱讀我的答案時,我正在打字! :) – PaulMcG 2009-09-10 13:24:59
我也是!榮譽並不存在於互聯網上;) – roosteronacid 2009-09-10 13:27:26
我是一個快節奏的盜版者,而且我是中西部一個非常突出的靈魂人物。 1 + 2 ==被盜回覆! – 2009-09-10 14:04:23
這應做到:
split(/((?!^)\{.*?\})/)
負前瞻 - (?!^)
- 成功當且僅當比賽不會在字符串的開頭開始。
你認爲的:
'{5}<blah>{0}</blah>'.split(/{([^}]+)}/g)
在花塊的價值是從第1項
嘗試去掉括號,並且使之成爲一個一個或更多的比賽每2項。例如,/{.+?}/。 – 2009-09-10 13:26:14