我是新來的正則表達式,似乎無法找出我怎麼也得解決這個問題:正則表達式是隻刪除第一個「/」
我需要一個正則表達式是「允許」只numbers
, letters
和/
。我寫了這個:
/[^a-zA-Z0-9/]/g
我認爲這是可能剝離第一/
過,但不知道怎麼辦。
所以#/register/step1
成爲register/step1
誰知道我怎麼會得到這樣的結果?
謝謝!
我是新來的正則表達式,似乎無法找出我怎麼也得解決這個問題:正則表達式是隻刪除第一個「/」
我需要一個正則表達式是「允許」只numbers
, letters
和/
。我寫了這個:
/[^a-zA-Z0-9/]/g
我認爲這是可能剝離第一/
過,但不知道怎麼辦。
所以#/register/step1
成爲register/step1
誰知道我怎麼會得到這樣的結果?
謝謝!
可以使用非全局的比賽非常重要,如果模式是字符串中連續:
var rx=/(([a-zA-Z0-9]+\/*)+)/;
var s='#/register/step1';
var s1=(s.match(rx) || [])[0];
alert(s1)>>> returned value: (String) "register/step1"
感謝!奇蹟般有效! – Ronald 2012-04-11 17:23:06
編輯:不知道爲什麼,我不建議這個第一,但如果你只是執行的模式,而不是替換,你可以只是替換斜槓(如果存在)檢查模式之前,使用strpos (),SUBSTR(),或者類似的東西。如果你正在使用的preg_replace()已經,那麼你應該看看在功能上文檔的例子,他們是
"/register/step1".match(/[a-zA-Z0-9][a-zA-Z0-9/]*/); // ["register/step1"]
\ w是等價於[^ A-ZA-Z0-9 _],所以:
"/register/step1".match(/\w[\w/]*/); // ["register/step1"]
你嘗試剝離'g'呢? – alf 2012-04-11 17:03:24