2012-03-20 79 views
-4

我想從"images/abc.png"使用解壓縮​​Javascript定期在一行中進行換碼。Javascript正則表達式如何使用

我已經嘗試了本

<script type="text/javascript"> 
var str = "images/abc.png"; 
var patt1 = /images\/[a-z]+?/i; 
document.write(str.split(patt1)); 
</script> 

回答

1

您想使用捕獲組,如:

var match = "images/abc.png".match(/images\/([^.]+)\.png/); 
var text = match && match[1]; 

你可以做到這一點在一行只有當你知道它將匹配;否則你會得到一個例外。

其實,我可以欺騙和用逗號得到它在同一行:

var match = "images/abc.png".match(/images\/([^.]+)\.png/), text = match && match[1]; 

...但我認爲它失去了很多清晰的。

MDC page on regular expressions是有用的閱讀。

+0

偉大的工作,我想在正則表達式的主人,你可以建議我任何教程的URL – user794624 2012-03-20 16:56:47

+0

@ user794624:點擊刷新。 :-)我加了一個,顯然你正在閱讀...... – 2012-03-20 16:57:21

1

隨着捕獲:

var text = "images/abc.png".replace(/^.*?\/(.*?)\.[^.]*$/, '$1'); 

或不獲取:

var text = "images/abc.png".replace(/^.*?\//, '').replace(/\.[^.]*$/, ''); 
如果你想匹配 images/

,那麼你就應該更換一次.*?images

相關問題