有可能得到一个正则表达式用'str1 / str2,str1-> str2'替换'str1 / str2'

时间:2012-07-09 12:13:43

标签: regex aptana

问题

我有这种形式的字符串: -

str1/str2
str3/str4/str5

可以有任意数量的细分。我想进行正则表达式搜索并替换以获得输出: -

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

我的字符串实际上采用[a-z|_]+

的形式

我的尝试

符合: -

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

替换为: -

$1 , $1

这几乎是正确的,但我需要进行第二次搜索并替换以将/更改为->

我可以通过一个正则表达式实现这一目标吗?或者它取决于我使用的引擎和它的反向引用功能? (我在aptana中使用搜索和替换功能)。

1 个答案:

答案 0 :(得分: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

另外,我想你的意思是你的模式也应该允许数字。