【发布时间】:2016-07-24 21:23:02
【问题描述】:
我有一个字符串,如下所示的网址
"www.regexperl.com/1234/34/firstpage/home.php"
现在我需要将字符串中第二次出现的数字 34 替换为 2。
结果字符串应该是这样的
"www.regexperl.com/1234/2/firstpage/home.php"
我面临的挑战是当我尝试存储值 34 并替换它时,它正在替换数字 1234 中的 34 并给出如下结果
"www.regexperl.com/122/34/firstpage/home.php"
请告诉我一个合适的正则表达式来解决问题。
【问题讨论】:
-
这个数字的位置是不变的吗?我的意思是在第一个斜线和第二个斜线之后?
-
或正则表达式:
^(\D*\d+\D*)\d+替换为\12 -
它不特定于 34,它可以是任何数字。我只是在这里举了一个例子 34
-
是的用户(菜鸟)的位置是恒定的.. 像 /number/number/word