2016-09-26 55 views
0

如果我有以下字符串:正則表達式來打通第二個字符串中最後一次出現匹配

hello/everyone/good/bye/world

我想匹配的一切行動,通過倒數第二個斜線:

hello/everyone/good/

但是斜槓的數量可能會有所不同。

正則表達式會做什麼?一直使用Google搜索無濟於事。

+0

爲什麼你不能只是爆炸(或任何你的語言等價)文本的'/'只是做一個for循環,除了最後兩個? –

+0

我創建了一個必須是基於xml的崇高文本片段,並且只支持通過正則表達式進行文本替換 - http://sublimetext.info/docs/en/extensibility/snippets.html – maxedison

回答

0

而不是正則表達式,使用split並利用「切片」。

t = "hello/everyone/good/bye/world" 
ts = t.split("/") 
print "/".join(ts[0:-2]) + "/" 

這將打印

hello/everyone/good/ 

這個答案是python2(沒有指定哪一種語言),也有一些其他語言的等效命令。例如,java有一個String.split()方法(使事情複雜化,它需要一個正則表達式)。請查閱您正在使用的語言的文檔。

+0

我創建了一個崇高的文本片段,必須是基於xml的,並且只支持通過正則表達式進行文本替換 - http://sublimetext.info/docs/en/extensibility/snippets.html – maxedison

+0

不幸的是,我不知道「崇高的文本」。但是,我快速瀏覽了他們的文檔,並看到https://code.tutsplus.com/tutorials/how-to-create-a-sublime-text-2-plugin-net-22685也許這可以幫助(你將有權訪問python語言)。祝你好運! –

0

也許試試這個https://regex101.com/r/bH2vI0/1

((\w+\/)+(?!\w+\/\w+)) 

不知道崇高允許向前看符號,雖然,但基本上只匹配每一個word + /除了最後兩個。 [A-z]可能會更好,如果你不想要數字和0​​

+0

這似乎也匹配倒數第二個詞,但是,不是嗎? – maxedison

+0

取決於你的分組,但第一個主要組應該匹配你想要的。我不知道崇高的正則表達式的東西。 –

相關問題