当前位置: 首页 > 面试题库 >

使用Java使用正则表达式查找较大字符串的子字符串

许庆
2023-03-14
问题内容

如果我有这样的字符串:

FOO[BAR]

我需要一种从字符串中获取“ BAR”字符串的通用方法,以便无论方括号之间是什么字符串,都可以获取该字符串。

例如

FOO[DOG] = DOG
FOO[CAT] = CAT

问题答案:

你应该能够使用非贪婪的量词,特别是*?。你可能需要以下条件:

Pattern MY_PATTERN = Pattern.compile("\\[(.*?)\\]");

这将为你提供一个与你的字符串匹配的模式,并将文本放在第一组的方括号内。请查看Pattern API文档以获取更多信息。

要提取字符串,可以使用如下所示的内容:

Matcher m = MY_PATTERN.matcher("FOO[BAR]");
while (m.find()) {
    String s = m.group(1);
    // s now contains "BAR"
}


 类似资料:
  • 问题内容: 我想用以下代码查找字符串中的所有数字: 我还尝试将定界符添加到正则表达式,使用正数作为的第二个参数,使用仅数字字符串,例如“ 123”作为第一个参数… 但是输出总是 我似乎想念一下正则表达式在Go中的工作原理,但是无法绕开它。这不是有效的表达方式吗? 问题答案: 问题出在你的第二个整数参数上。引用以下软件包的文档: 这些例程使用一个额外的整数参数n;如果n> = 0,则该函数最多返回n

  • 本文向大家介绍PowerShell使用正则表达式查找字符串实例,包括了PowerShell使用正则表达式查找字符串实例的使用技巧和注意事项,需要的朋友参考一下 本文介绍在PowerShell中使用-match运算符加正则表达式,进行字符串的搜索。 match运算符,后面加上正则表达式,可以对字符串进行正则匹配查找。正则表达式功能强大,用于查找字符串时方便快捷。所以match运算符是我们经常要用到的

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

  • 我有以下字符串 decrypted_my_content_456974543290983824.csv 并且我想要一个简单的正则表达式来获取decrypted和last_之间的字符串,这意味着我想要返回my_content。 我的正则表达式如下 在不同的在线工具(如regex101)中进行了测试,结果我得到了我想要的东西。但是,在代码中 它不起作用的原因--我想我错过了一些转义字符还是?此外,如果

  • 问题内容: 我需要从字符串中提取: 使用Java语言中的正则表达式。 有人可以帮帮我吗?我是第一次使用正则表达式。 问题答案: 尝试

  • 问题内容: 我有这串 并且我需要提取这3个子字符串 1234 06:30 07:45 如果我使用此正则表达式\\ d {2} \:\\ d {2}我只能提取第一个小时的06:30 matcher.group(1)引发异常。 另外我也不知道如何提取1234。此字符串可以更改,但总是在’XX〜’之后 。您对如何将这些字符串与正则表达式匹配有任何想法吗? 更新 多亏了亚当的建议,我现在有了这个正则表达式