RegExp替换之后

时间:2013-04-05 13:20:34

标签: regex insert replace

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

  1. “/ all_news”
  2. “/ all_news /”
  3. “/ all_news /第1页”
  4. “/ all_news /第1页/”
  5. 所有这些模板都意味着相同的事情 - 新闻页面的第一页没有过滤。

    所以我需要:

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

    第二个模板 - 插入“pageX”

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

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

    如果是,请帮助我。

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

    我的意思是下一个逻辑:

    1. string started
    2. 好的,我看到substring“/ all_news”
    3. 我替换“/ all_news”之后的所有内容,即使没有任何内容(如果字符串以“/ all_news”结尾)
    4. 我返回“/ all_news / pageX”。

1 个答案:

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

干杯。