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

正则表达式查找子字符串并将其包装在标记中-Java[duplicate]

吕鸿文
2023-03-14

我正在尝试编写一个代码,它可以找到以下格式的所有单词

"some text":

在“symbols”中的字母数字字符,以:symbols结尾。我的目标是,一旦找到这些字符,就去掉“字符,并将整个字符串包装在标记中。因此在代码运行之后,上面的文本将如下所示,

<strong>some text:</strong>

所以我认为查找此类文本以进行包装的正则表达式如下所示(为Java格式),

(\".*?\"):{1}

通过使用下面的代码,我应该能够迭代所有的匹配。

Pattern pattern = Pattern.compile("(\".*?\"):{1}");
Matcher matcher = pattern.matcher(stringToSearch);

while(matcher.find()) {
  String matchedGroup = matcher.group();
  matchedGroup = matchedGroup.replaceAll("\"", "");
  matchedGroup = "<strong>" + matchedGroup + "</strong>";
  
  // now what?
}

所以我可能做错了。

现在我已经用一个强标签包装了我想要的单词,我如何将它“放回”原来的地方呢?

共有1个答案

西门庆
2023-03-14

假设您希望双引号总是平衡的,您可以在这里使用String#replaceAll来获得更简洁的解决方案:

String input = "Here is \"some text\": and also \"some other text\":";
String output = input.replaceAll("\"(.*?)\":", "<strong>$1:</strong>");
System.out.println(output);

这将打印:

Here is <strong>some text:</strong> and also <strong>some other text:</strong>
 类似资料:
  • 我正在尝试编写一个代码,它可以找到以下格式的所有单词 在“symbols”中的字母数字字符,以:symbols结尾。我的目标是,一旦找到这些字符,就去掉“字符,并将整个字符串包装在标记中。因此在代码运行之后,上面的文本将如下所示, 所以我认为查找此类文本以进行包装的正则表达式如下所示(为Java格式), 通过使用下面的代码,我应该能够迭代所有的匹配。 所以我可能做错了。 现在我已经用一个强标签包装

  • 我有一个序列化的对象,看起来像这样(不包括倒逗号): “Key1:Value1,Key2:Value2,Key3:Value3' 它也可能是这样的: “Key1:Value1,Key3:Value3' 或 “Key1:Value1” 或 “|”(可能为空) 在这一点上,我使用了这个标记化逻辑来分解这个字符串(这有点冗长)。是否有一个单一的正则表达式可以帮助我提取给定键的值(或返回null)给定上面

  • 我需要一个字符串来获取键->值对的数组(2-dim)。 一个“匹配”是当两个单词之间有一个->时,->前后有mo空格 例如输入字符串: skip_me key1->value1 key2->value2 skip_me2 key3->value3 skip_me3 skip_me->还 结果应为数组: key1,value1 key2,value2 key3,value3 这是我的代码: 我的正则

  • 问题内容: 我需要有关正则表达式的帮助:我正在尝试检查一个句子是否包含特定单词。 让我们以这个主题的标题为例: “正则表达式以查找字符串中的特定单词” 我需要查找它是否包含 if ,在这种情况下它是错误的。 我无法使用包含的方法,因为在这种情况下它将返回true( 如果为 * ic, 则为 spec * ) 我当时在考虑使用方法匹配,但我有点正则表达式。 基本上,匹配方法输入中的正则表达式需要指定

  • 本文向大家介绍java使用正则表达式查找包含的字符串示例,包括了java使用正则表达式查找包含的字符串示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java使用正则表达式查找包含的字符串。分享给大家供大家参考,具体如下: Hello.java: eclipse运行效果图如下: PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工

  • 问题内容: 如果我有这样的字符串: 我需要一种从字符串中获取“ BAR”字符串的通用方法,以便无论方括号之间是什么字符串,都可以获取该字符串。 例如 问题答案: 你应该能够使用非贪婪的量词,特别是*?。你可能需要以下条件: 这将为你提供一个与你的字符串匹配的模式,并将文本放在第一组的方括号内。请查看Pattern API文档以获取更多信息。 要提取字符串,可以使用如下所示的内容: