正则表达式用于替换URL中的路径变量



我正在使用Java。我想检查URL中的正则表达式,如果它包含路径变量,如数字id,并将其替换为*

我尝试了不同的模式,如/d+.*,但没有得到我所期望的。

input url: https://stackoverflow.com/questions/ask/123/456
expected output: https://stackoverflow.com/questions/ask/*/*

另一个:

input url: https://stackoverflow.com/questions/ask/123/456/find
expected output: https://stackoverflow.com/questions/ask/*/*/find

替换"/"的合适正则表达式是什么?"/*"?

匹配全数字路径段的正则表达式:

/d+(?=/|$)

用星号替换全部:

String masked = url.replaceAll("/\d+(?=/|$)", "/*");

查看现场演示

分解正则表达式:

  • /\d+是斜杠后面跟着数字
  • (?=/|$)表示匹配必须后跟斜杠输入结束($)

替换将匹配的斜杠加一个星号。

相关内容

  • 没有找到相关文章