1

在这里使用Regex Hero是输入:

正则表达式:/category/*

替换字符串:/experiment/$0

目标字符串:http://google.co.in/blah_blah_blah/domainname.com/category/wp/

最终字符串:http://google.co.in/blah_blah_blah/domainname.com/experiment//category/wp/

预期网址

http://google.co.in/blah_blah_blah/domainname.com/experiment/wp/

我如何获得预期的 URL,我的正则表达式有问题吗?

4

2 回答 2

1

尝试正则表达式:

/category/(.*)

在正则表达式.中是通配符并且*是“0 或更多”限定符。因此,在正斜杠后匹配 0 个或多个 ( *) 字符 ( .) 应表示为.*

替代品:

/experiment/$1

$0 是保存整个匹配的“伪组”,即“/category/...”。您需要使用括号来定义其他组,以便您可以在替换模式中引用这些组,因此(.*)是正则表达式中的部分。

于 2012-05-14T10:39:46.967 回答
1

您需要更改正则表达式:

/category/([^/]+)

这将使所有内容与下一个斜杠匹配。请注意,我也将它包裹在括号中capture。或者,如果您只想要/category/使用后的所有内容:

/category/(.*)

然后,您需要将替换更改为:

/experiment/$1

$1是第一场比赛。

这导致:

http://google.co.in/blah_blah_blah/domainname.com/experiment/wp/

于 2012-05-14T10:41:11.147 回答