Regex 正则表达式匹配之后的任何内容/

Regex 正则表达式匹配之后的任何内容/,regex,wordpress,redirect,Regex,Wordpress,Redirect,我基本上不了解regex,但我需要一个regex语句,它可以识别URL中/之后的任何内容 基本上,我正在为某人开发一个网站,页面的URL(当然是本地URL)是说(http://)localhost/sweettentials/available sweets。此页面充满了自定义帖子类型(这是WordPress站点),其URL为(http://)localhost/sweettentials/sweets/sweet name 我想做的是将URL(http://)localhost/sweette

我基本上不了解regex,但我需要一个regex语句,它可以识别URL中
/
之后的任何内容

基本上,我正在为某人开发一个网站,页面的URL(当然是本地URL)是说
(http://)localhost/sweettentials/available sweets
。此页面充满了自定义帖子类型(这是WordPress站点),其URL为
(http://)localhost/sweettentials/sweets/sweet name

我想做的是将URL
(http://)localhost/sweettentings/sweets
重定向回
(http://)localhost/sweettentings/available sweets
,这很容易做到,但我还需要将任何类型的sweet重定向回
(http://)localhost/sweettentings/available sweets
。因此,假设我需要将
(http://)localhost/sweettentials/sweets/*
重定向回
(http://)localhost/sweettentials/available sweets


如果有人能告诉我如何编写一个合适的正则表达式语句来匹配URL中sweets/之后的所有内容,我将不胜感激

使用此正则表达式
(?来执行您要求的操作,您需要使用组。在正则表达式中,组允许您分离整个匹配的部分

例如:

input string of: aaaaaaaabbbbcccc 

regex: a*(b*) 
括号标记一个组。在本例中,它将是组1,因为它是模式中的第一个组

注意:组0是隐式的,是完全匹配的

因此,在我的上述案例中,匹配将是:

group 0: aaaaaaaabbbb
group 1: bbbb
为了实现你想要的糖果模式,你只需要把一个小组放在最后

possible solution: /sweets/(.*)
在小组讨论之前,你对模式的理解越精确,就越不可能出现假阳性

如果您真正想要的是匹配上一次/之后的任何内容,您可以采取另一种方法:

 possible other solution: /([^/]*)
上面的模式将找到一个包含非另一个/字符串的/并将其保留在组1中。这里的问题是,您可以匹配URL中没有糖果的内容

注意:如果您不介意开始时的/,那么只需删除(和),您就不必担心组

我喜欢用它来测试我的正则表达式。它会用不同的颜色标记不同的匹配项

希望这有帮助

我可能误解了你在我原来的帖子中的要求

如果您只想更改任何匹配的字符串 (http://)localhost/sweettentings/sweets/*

在您提供的另一个字符串中(没有在末尾添加*的部分匹配),我将使用正则表达式匹配URL中的模式,但它们只是盲目地将整个字符串替换为所需的字符串: (http://)本地主机/糖果诱惑/可用糖果

因此,如果您需要URL:

  http://localhost/sweettemptations/sweets/somethingmore.html
变成:

  http://localhost/sweettemptations/available-sweets
而非:

  localhost/sweettemptations/available-sweets/somethingmore.html
那么解决方案就更简单了,不需要组:)

在执行此操作时,我会确保您与“localhost”部分不匹配。另外,我假设(http://)实际上意味着前面的可选http://,因为(http://)不是有效的协议前缀

因此,如果这是您想要的,那么这应该与模式匹配:

(http://)?[^/]+/sweettemptations/sweets/.*
此正则表达式将可选地将http://part与主机(可以是localhost、IP或主机名)匹配。如果愿意,可以省略结尾处的。*


如果该模式匹配,只需将整个URL替换为您要重定向到的URL。

我是否在/sweets/部分之后使用该URL,因此它可能是/sweets/(?我还没有完全理解您所写的内容,如果您想在一些文本使用construction后捕获averythink
(?谢谢你的详细回答。我将很快尝试一下,看看它是否能像我需要的那样工作,到时候会让你知道。再次感谢。非常感谢。URL末尾的简单/*非常有效-显示了我是多么的正则表达式noob。谢谢!