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

Java regex,在里面查找文本

陶健
2023-03-14

我需要在文本中找到一些字符串后,在括号内的关键字第一次出现。下面是文本示例:

Lorem ipsum dolor sit amet,consectetur adipisising elit,sed do eiusmod tempor incidunt ut labore et dolore magna aliqua。===第一个关键字===veniam,{{文本需要得到}}ullamco laboris nisi ut aliquip ex ea commodo verciat.Duis aute irure dolor in repreenderit{{in voluptate velit esse cillum}}dolore eu fugiat nulla pariatur。Excepteur sint occaecat cupidatat non-proident,sunt in culpa qui officia{{deserunt mollit anim}}id est laborum

所以我需要在第一个关键字后得到括号内的文本。

我尝试了许多组合,但最好的是我从最后一个括号中接收文本,而不是首先。在这个执行中,我在关键字(?<====FIRST KEYWORD===).(.\n)*之后得到了文本,但是在方括号中找到第一个文本时,我没有成功。

"(?<==== FIRST KEYWORD ===)[^{]*\\{\\{([^}]*)\\}\\}"

很管用,但我现在没看到。所以我不能对写这篇文章的人说谢谢,我不记得了。

共有1个答案

娄振
2023-03-14

以下代码提取目标:

String target = input.replaceAll("(?s).*?=== FIRST KEYWORD ===.*?\\{\\{(.*?)\\}\\}.*", "$1");

regex的重要部分是使用不情愿的量词.*?,这将在第一个可用匹配时停止使用输入(不会跳过它到后续匹配中)。

注意(感谢@guido指出了这一点)已经添加了dotall标志(?s),这允许点匹配跨行运行--在处理多行输入时是必需的。

String input = "one two === FIRST KEYWORD === three {{xxx}} four {{yyy}} five";
String target = input.replaceAll("(?s).*?=== FIRST KEYWORD ===.*?\\{\\{(.*?)\\}\\}.*", "$1");
System.out.println(target);
xxx
 类似资料:
  • 问题内容: 我正在一个简单的测试应用程序中尝试log4j。我在eclipse中创建一个新的Java项目,并将log4j JAR(v1.2.16)添加到我的构建路径中。然后,我创建一个简单的类来打印Hello World。然后,我使用log4j 类记录一条信息消息。当我运行该应用程序时,使用默认的附加程序和布局,我会看到日志消息。大。我遇到的麻烦是添加了自己的配置。这是我所做的: 使用自定义的附加程

  • ; StrStr ; 输入,堆栈顶 = 要查找的字串 ; 堆栈顶-1 = 在该字串中查找 ; 输出,堆栈顶 (替换为字串剩余部分) ; 不改变其它变量值。 ; ; 用法: ; Push "this is a long ass string" ; Push "ass" ; Call StrStr ; Pop $R0 ; ($

  • 问题内容: 这可能不清楚,也可能不清楚,如果我不在基地或您需要更多信息,请给我评论。也许对于我想要的PHP已经有了解决方案。 我正在寻找一个函数,该函数将从经度或纬度值中增加或减去一个距离。 原因:我有一个包含所有纬度和经度的数据库,并且想要形成一个查询以提取X公里(或英里)内的所有城市。我的查询看起来像这样… 我正在使用MySql数据库使用PHP。 也欢迎任何建议!:) 问题答案: 这是一个My

  • 我对intellij和Spock很陌生。 我正在使用Gradle将spock测试添加到我的spring boot项目中。以下是我的: 构建直接运行良好。

  • 问题内容: 如何使用Selenium检查当前页面上是否存在给定的文本字符串? 问题答案: 代码是这样的:

  • 我正在寻找一个优雅的解决方案,来查找我存储在python字典/列表中的某个单词出现在文档的哪个页面。 我首先考虑的是。docx格式作为输入,并查看了PythonDocx,它有一个搜索功能,但在docx/xml格式中显然没有真正的页面属性。如果我分析文档,我可以查找