2012-07-09 62 views
1

存在的問題,以取代 'STR1/STR2'是否有可能獲得一個正則表達式與 'STR1/STR2,str1-> STR2'

我在這個形式的字符串的負載: -

str1/str2 
str3/str4/str5 

可以有任意數量的段。我願做一個正則表達式搜索和替換,以獲得輸出: -

str1/str2 , str1->str2 
str3/str4/str5 , str3->str4->str5 

我的琴絃實際上是在形式[a-z|_]+

我嘗試

比賽有: -

((?:(?:[a-z|_])\/?)+) 

替換爲: -

$1 , $1 

這幾乎是正確的,但我需要做第二次搜索並替換將/的更改爲->的。

我可以用一個正則表達式實現嗎?還是取決於我正在使用的引擎,它是反向引用功能? (我正在使用aptana中的搜索和替換功能)。

+0

第二次換人做第二次換人有什麼不妥嗎?有時最簡單的解決方案是最好的。爲什麼你需要這一切都在一個正則表達式? – 2012-07-09 12:24:52

+0

我想我並不真的需要一次通過,我只是想知道是否有辦法 - 擴展我的知識...... – rgvcorley 2012-07-09 12:52:26

回答

2

Aptana支持全局修飾符而不是重複組?這在JavaScript中工作:

"str3/str4/str5/str6/str7".replace(/([a-z0-9_|]+)\//g, '$1->'); 
//output: str_3->str_4->str_5->str_6->str_7 

此外,我想你的意思是你的模式也應該允許數字。

相關問題