正则表达式URI部分:删除连字符

时间:2014-10-16 13:15:29

标签: regex uri

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

/directory/this-part/blah

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

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

这回来了:

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

所以逻辑上我需要一个正则表达式来检索第二部分,但删除连字符之间的所有内容。

到目前为止,我有这个:

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

1 个答案:

答案 0 :(得分:0)

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

这会解决您的问题吗?这将返回:

house-&-homehouse-%26-home

这是 demo

如果你想得到结果:

house--home

然后你应该使用替换方法。因为我不确定你使用的语言是什么,所以我将在java中给出我的例子:

String regex = (?<=directory\/)(.+?)(?=\/);
String str = "/directory/house-&-home/blah"

Pattern.compile(regex).matcher(str).replaceAll("\&", "");

此替换方法允许您替换任何&

的特定模式(""符号)