1

我有一些链接模板,我需要替换这些链接中的子字符串。链接模板:

  1. “/all_news”
  2. “/all_news/”
  3. “/all_news/page1”
  4. “/all_news/page1/”

所有这些模板都意味着同一件事——新闻页面的第一页没有过滤。

所以我需要:

第一个模板 - 插入“/pageX”

第二个模板 - 插入“pageX”

第 3 和第 4 个模板 - 替换页码

只有一个正则表达式有可能吗?

如果是,请帮助我。

如果不是,那么我有第二个问题:也许可以替换“/pageX”上“/all_news”之后的所有内容?

我的意思是下一个逻辑:

  1. 字符串开始
  2. 好的,我看到子字符串“/all_news”
  3. 即使不存在任何内容,我也会替换“/all_news”之后的所有内容(如果字符串以“/all_news”结尾)
  4. 我返回“/all_news/pageX”。
4

1 回答 1

2

这样就可以了。

'/all_news/page1'.replace(/(.*\/all_news).*/,'$1' + '/pageX');

只为所有。

Java 向后看。它否定了对 1 美元的需求。解决方案如下所示:

String result = "/all_news/page1";
String pattern = "(?<=\\/all_news).*";
System.out.println(result.replaceAll(pattern,"/PageX"));

干杯。

于 2013-04-05T13:23:43.813 回答