当前位置: 首页 > 知识库问答 >
问题:

如何使用正则表达式在特定字符串匹配后替换字符串

唐俊英
2023-03-14

https:www.google。com/;ParamName=项目;AccessKey=PDJKJDSJJKNEIOWEMCL/dsjdkhfjf=;值=xyz

在这里,我想用一些虚拟字符串替换AccessKey值并返回整个字符串。

预期输出:<代码>https:www.google。com/;ParamName=项目;AccessKey=dummyValueHere;值=xyz

是否有人可以通过使用replaceFirst或replace来帮助这里的正则表达式实现这一目的?

共有2个答案

沈枫涟
2023-03-14

如果要替换访问令牌的值,可以使用点元字符和量词来匹配正查找检查值前面是否有字符串AccessToken和正查找以匹配下一个分号之间的所有内容。

(?<=AccessKey=).+(?=;)

您的代码如下所示

String myURL = "https:www.google.com/;ParamName=project;AccessKey=pdjkjdsjjknneiowemcl/dsjdkhfjf=;Value=xyz";
String result = myURL.replaceFirst("(?<=AccessKey=).+(?=;)", "dummyValue");

在这里,您也可以测试正则表达式:

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

陆寒
2023-03-14

您可以使用捕获组

(AccessKey=[^;]+)

并替换为

AccessKey=myDummyValue

这给了

https:www.google.com/;ParamName=project;AccessKey=myDummyValue;Value=xyz

看见https://regex101.com/r/qWz0ye/1

 类似资料:
  • 问题内容: 我想搭配以下 com.my.company。 moduleA .MyClassName com.my.company。 moduleB .MyClassName com.my.company。 anythingElse .MyClassName 但 不是 以下 com.my.company。 核心 .MyClassName 我当前的简单正则表达式模式是: 因此,基本上,我该如何匹配其他

  • 我试图用正则表达式匹配替换给定的字符。例如,给定以下字符串: 如果你看看你生活中拥有的,你总是会拥有更多。如果你看看你生活中没有的,你永远不会有足够的 我想用“!”替换所有的“t”,只有在字符“ok”和“fe”之间匹配的情况下。 我用这个正则表达式得到“ok”和“fe”之间的匹配: 并且我只能将一个字符与以下正则表达式匹配: 我试图用以下方式转换正则表达式,但它不起作用: 我怎样才能在ok和fe之

  • 我有一些xml文件,希望删除除特定字符串以外的所有内容。 StackOverflow上还有很多类似的问题,但都不适用于我的文件,在尝试了几个小时不同的正则表达式后,我想寻求帮助。 到目前为止,部分成功但并非完全成功的最接近的正则表达式是: xml文件的示例: 我使用regex101,因此可以将示例粘贴在那里,以了解为什么rex只能部分工作。简而言之,它与第一次出现的不匹配,但与第二次出现的匹配。我

  • 想改进这个问题吗 通过编辑此帖子,添加详细信息并澄清问题。 https:www.google。com/;ParamName=项目;AccessKey=PDJKJDSJJKNEIOWEMCL/dsjdkhfjf=;值=xyz 在这里,我想用一些虚拟字符串替换值并返回整个字符串。 预期输出:<代码>https:www.google。com/;ParamName=项目;AccessKey=dummyVa

  • 我想匹配任何文本中的某些行,在匹配中,我想尽可能频繁地替换某个字符。示例文本: 任何文本和“更多”文本。不要在此处替换引号 CatchThis(此处没有引号,“任何更多文本”,“等等…”)。。。 现在,我想用哈希符号来替换圆括号中的每个引号。预期结果: 任何文本和“更多”文本。不要在此处替换引号 CatchThis(此处没有引号,#没有更多文本#,#等等…#)。。。 匹配线条很容易。这是我的模式:

  • 问题内容: 我有一个字符串。结尾是不同的,例如或。我要寻找的一件事是。 我如何匹配它,无论它是在字符串的中间还是在字符串的末尾?到目前为止,我已经知道了,但是该部分实际上并没有工作。我正在尝试使用它来匹配字符串的任何一个或结尾,但是字符串部分的结尾不起作用,因此此模式匹配第二个示例,但不匹配第一个示例。 问题答案: 使用: 请注意,当使用方括号表达式时,其中的每个字符有些例外都将按字面意义进行解释