Regex URI部分:删除连字符



我必须在第二部分上拆分URI:

/directory/this-part/blah

我面临的问题是,我有两个URI,在逻辑上需要是一个

/directory/house-&-home/blah
/directory/house-%26-home/blah

返回为:

house-&-home and house-%26-home

因此,从逻辑上讲,我需要一个regex来检索第二部分,但删除连字符之间的所有内容。

到目前为止,我有这个:

 /[^(/;?)]*/([^(/;?)]*).*

(?<=directory/)(.+?)(?=/)

这能解决你的问题吗?返回:

CCD_ 2和CCD_ 3

这是演示

如果你想得到结果:

house--home

那么您应该使用替换方法。因为我不确定你使用的是什么语言,我将用java:给出我的例子

String regex = (?<=directory/)(.+?)(?=/);
String str = "/directory/house-&-home/blah"
Pattern.compile(regex).matcher(str).replaceAll("&", "");

此替换方法允许您将某个模式(&符号)替换为无""

最新更新