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

RegEx匹配字符串中最后一个大写单词和另一个单词之间的所有字符

常子濯
2023-03-14

我需要匹配字符串中最后出现的大写单词和另一个单词之间的所有字符。输入文字:聪明的狐狸在黑夜中跳过大和(洞2)墙。

(?<=\b[A-Z]+\s)(.+?)(?=\sin)

有人能破解这个吗?

共有1个答案

訾雅畅
2023-03-14

这可能不是最有效的解决方案,但似乎很有效:

String text = "The CLEVER fox JUMPED OVER the big wall in the night.";
String regex = "(\\b[A-Z]+\\s)(?!.*\\b[A-Z]+\\b)(.+?)(\\sin)";
Matcher m = Pattern.compile(regex).matcher(text);
if (m.find()) {
    System.out.println(m.group(2));
}

它使用负面前瞻来确保在捕获所需数据之前文本中没有更多的大写字母。

 类似资料:
  • 问题内容: 我正在查询以获取具有特定标题的文档的URI。我的查询是: 的值实际在哪里,因为查询字符串是通过以下方式生成的: 通过上面的查询,我仅获得标题与完全相同的文档。想象一下,是由多个词组成的。我想获得文档,即使文档标题上仅出现一个字形(例如)。我该怎么办? 问题答案: 假设您有一些数据(在Turtle中): 然后,您可以使用类似以下的查询: 得到像 这样做特别整洁的是,由于您正在动态生成模式

  • 假设我有如下JSON字符串: 如何使用正则表达式匹配密钥中的最后一个“有趣部分”?我可以期望密钥总是以相同的方式开始(word1、word2、word3、word4)。但是,可能有一些我不想包含在匹配中的内容因文件而异(word5、word6)。 到目前为止,我的想法是: https://regex101.com/r/BjOcfl/1 它与最后一部分相匹配,但也包括一个前期。我希望它只与单词匹配,

  • 所需匹配: 这个regex只匹配字符串第一个实例之后的所有内容: 思想?

  • 我试图使用一个preg_replace或类似的php函数:-识别字符串中的第一个全大写字母单词,-并在它后面直接插入一个字符(破折号或分号即可)-全大写字母单词应该是3个字符长或者更多。 到目前为止,我有一个正则表达式: 但是,这并不适用于只有3个字符的单词。我也不确定我是否“严格地”只看第一个单词。 我相信一旦我理清了正则表达式-这 将输出如下

  • 基于正则表达式直到但不包括,我试图匹配所有字符,直到一个单词边界。 例如,在以下字符串中匹配: 我正在使用: 一个否定集 有字边界 和一个加号中继器 这样地: 它应该查找一个“a”,然后为任何非单词边界的字符获取一个或多个匹配项。所以我希望它在

  • 我正在寻找正确的regex来为我提供以下结果: null 例子: 福吧 组1:foo 组2:bar 说明:在空格上拆分 组1:foo bar 描述:用双引号包围,所以将foo和bar分组,但不要打印双引号 null null null null null 组1:foo bar 组2:堆栈溢出 组1:foo'bar 组2:堆栈溢出 组3:如何 组4:do 组5:您 组6:do

  • 我有这样一个字符串: “#影响@John@Me Lorem ipsum door sit amet,奉献给精英们,让他们暂时参与劳动和生活。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除偶尔因疏忽而死亡外,还必须因工作原因而受到伤害 我需要以两种方式“拆分”,删除第一个单词,因为它以“#”开头(我可以做/已经做过),第二个我想不出来-我需要从字符串

  • 问题内容: Java中是否内置了一个函数,该函数可以大写字符串中每个单词的第一个字符,而不会影响其他单词? 例子: jon skeet -> Jon Skeet miles o’Brien-> Miles O’Brien(B仍然是大写字母,这排除了标题大小写) old mcdonald-> Old Mcdonald* (Old McDonald也可以找到,但我不认为它会那么聪明。) 快速浏览一下J