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