gpt4 book ai didi

java - 获取正则表达式匹配后的文本

转载 作者:IT老高 更新时间:2023-10-28 20:23:25 25 4
gpt4 key购买 nike

我是使用 Regex 的新手,我已经浏览了很多教程,但我还没有找到适用于我想做的事情的教程,

我想搜索一些东西,但返回它后面的所有内容,而不是搜索字符串本身

例如“一些很棒的蹩脚句子

搜索“句子

return "太棒了"

任何帮助将不胜感激

到目前为止,这是我的正则表达式

sentence(.*) 

但它返回:很棒的句子

Pattern pattern = Pattern.compile("sentence(.*)");

Matcher matcher = pattern.matcher("some lame sentence that is awesome");

boolean found = false;
while (matcher.find())
{
System.out.println("I found the text: " + matcher.group().toString());
found = true;
}
if (!found)
{
System.out.println("I didn't find the text");
}

最佳答案

您可以按照评论中的要求使用“仅正则表达式”来执行此操作:

(?<=sentence).*

(?<=sentence)positive lookbehind assertion .这匹配字符串中的某个位置,即文本 sentence 之后的位置而不使该文本本身成为匹配的一部分。因此,(?<=sentence).*将匹配 sentence 之后的任何文本.

这是正则表达式的一个很好的特性。但是,在 Java 中,这仅适用于有限长度的子表达式,即。 e. (?<=sentence|word|(foo){1,4})是合法的,但是 (?<=sentence\s*)不是。

关于java - 获取正则表达式匹配后的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5006716/

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