正则表达式 删除 / 之后的所有内容,除非存在某些字符串



>我有一些网址,我试图缩短。我想删除网址/之后的所有内容,除非该网址等于 plus.google.com

例如:

www.somerubbish.com/about/64848372.meh.php将缩短为www.somerubbish.com

plus.google.com/756934692387498237/about将保持不变

关于我该如何做到这一点的任何想法?

我失败的尝试如下。我知道 |说 OR 所以这就是为什么它也匹配第一行中的/的原因。

b!(?:plus.google.com/.*)b|b(?:/.*)b

http://regexr.com/3cv6n

好的,

我有它。

答案是使用负后视并移除管道

(?<!plus.google.com)b(?:/.*)b

https://regex101.com/r/pU3hU4/1

有什么问题:

if( ! url.contains("plus.google.com")) {
    url = StringUtils.substringBefore(url, "/");
}

最新更新