gpt4 book ai didi

Java 正则表达式与精确标记有关的问题

转载 作者:行者123 更新时间:2023-12-01 17:35:15 25 4
gpt4 key购买 nike

在我的 Java 应用程序中,我有一个“模板字符串”,例如“此记录的名称是:%%%NAME%%%。

我想循环遍历一个列表,并为每次迭代打印出此模板的“自定义版本”,该模板将 %%%NAME%%% 标记字符串替换为有意义的值。例如:

List<String> strNamesList = getNamesSomehow();
String strTemplate = "This record's name is : %%%NAME%%%.";
String strCustomized = "";
for(int i = 0; i < strNamesList.size(); i++)
{
strCustomized = strTemplate.replaceFirst(strSomeRegex, strNamesList.get(i));
System.out.println(strCustomized);
}

与往常一样,我被 strSomeRegex 噎住了。我只需要一个与确切短语匹配的正则表达式:

%%%NAME%%%

我搜索过 Google、Binged、维基百科等等。搜索“精确匹配正则表达式”(及其类似内容)会返回各种结果,但这些都不能帮助我处理包含标点符号(百分号)的标记。

正则表达式只是每次都让我困扰的事情之一,这是我最后的手段。

感谢任何好心的 StackOverflowers 可以为我指明正确的方向!

最佳答案

java 有一个函数可以引用正则表达式中的字符串 java.util.regex.Pattern.quote(string)

它的作用是用 \Q\E 包围字符串(将 \E 替换为 \E\\E根据需要在字符串中添加\Q)

在您的示例中“\\Q%%%NAME%%%\\E”即可

关于Java 正则表达式与精确标记有关的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com