Regex 可以使用单个正则表达式替换';str1/str2';与';str1/str2,str1->;str2&x27;

Regex 可以使用单个正则表达式替换';str1/str2';与';str1/str2,str1->;str2&x27;,regex,aptana,Regex,Aptana,问题 我有一大堆这样的字符串:- str1/str2 str3/str4/str5 可以有任意数量的段。我想进行正则表达式搜索和替换以获得输出:- str1/str2 , str1->str2 str3/str4/str5 , str3->str4->str5 我的字符串的格式实际上是[a-z|uz]+ 我的尝试 匹配:- ((?:(?:[a-z|_])\/?)+) 替换为:- $1 , $1 这几乎是正确的,但我需要进行第二次搜索和替换,以将/更改为-> 我可以用一个

问题

我有一大堆这样的字符串:-

str1/str2
str3/str4/str5
可以有任意数量的段。我想进行正则表达式搜索和替换以获得输出:-

str1/str2 , str1->str2
str3/str4/str5 , str3->str4->str5
我的字符串的格式实际上是
[a-z|uz]+

我的尝试

匹配:-

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

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


我可以用一个正则表达式实现这一点吗?还是取决于我使用的引擎及其反向参考功能?(我正在使用aptana中的搜索和替换功能)。

aptana是否支持全局修饰符而不是重复组?这在JavaScript中起作用:

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

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

第二次传球进行第二次替换有什么不对吗?有时最简单的解决方案是最好的。为什么你要求这些都在一个正则表达式中?我想我真的不需要它在一个过程中,我只是想知道是否有一种方法-扩展我的知识。。。