Regex 正则表达式移除字符串的一部分并替换另一部分

Regex 正则表达式移除字符串的一部分并替换另一部分,regex,Regex,我在使用RegEx(使用C#)获得期望的结果时遇到了一个挑战,我希望社区能够提供帮助 我有以下格式的URL: 我想做两个修改,特别是: 1) 删除“value”之后的所有内容,例如“&ida=0&idb=1” 2) 将“类别”替换为例如“新类别” 因此,结果是: 我可以删除上面1)中的字符串,例如^[^&]+但我无法找到如何替换“category”子字符串 任何帮助或指导都将不胜感激 提前谢谢。您在这里没有指定语言,我主要从事python工作,因此解决方案是python url = re.s

我在使用RegEx(使用C#)获得期望的结果时遇到了一个挑战,我希望社区能够提供帮助

我有以下格式的URL:

我想做两个修改,特别是:

1) 删除“value”之后的所有内容,例如“&ida=0&idb=1”

2) 将“类别”替换为例如“新类别”

因此,结果是:

我可以删除上面1)中的字符串,例如^[^&]+但我无法找到如何替换“category”子字符串

任何帮助或指导都将不胜感激


提前谢谢。

您在这里没有指定语言,我主要从事python工作,因此解决方案是python

url = re.sub('category','newcategory',re.search('^https.*value', value).group(0))
解释 re.sub用于将c中的值a替换为b


搜索用于匹配字符串中的特定模式,并将值存储在组中。因此,在上面的代码中,re.search将在组0中存储“https to value”中的值

使用Python和内置字符串方法(此处不需要正则表达式):

产出:

https://somedomain.com/subfolder/newcategory/?abc=text:value
使用以下命令:

  • 查找:
    /(类别/+?值)和+
  • 替换:
    /new$1
    /new\1
    取决于您的正则表达式风格


根据评论更新。

如果新名称是完全不同的,请使用以下名称:

  • 查找:
    /category(/.+?value)&.+
  • 替换:
    /完全不同\u名称$1

谢谢您的帮助。我只想澄清一点-如果我想用新值完全替换整个“category”字符串,例如before:/category/after/完全不同的\u name/?谢谢
https://somedomain.com/subfolder/newcategory/?abc=text:value