gpt4 book ai didi

Java 和正则表达式中的后视

转载 作者:搜寻专家 更新时间:2023-11-01 00:51:34 24 4
gpt4 key购买 nike

我正在尝试为以下内容找到一个正则表达式:

所有世界匹配@WORD@到底在哪里WORD可以是任何词,但只能在 = 之后.我做了以下内容:
(?<==)#.*?#)它有效但仅适用于 =@SOMEWORD@ 这样的模式或 @ANOTHERWORD@不是 = @WORD@ .
我也对 = 感兴趣但无法弄清楚。
无论如何使用类似的东西:(?<=\\s*=\\s*)#.*?#)但它不起作用。
有任何想法吗?

注:奇怪但来自here它说在 Java 中支持可变长度后视,但这并没有给我一个异常(exception)

最佳答案

如果您正在使用后视,我假设您正在使用 PatternMatcher直接捕捉干净的单词( "@WORD@" 而不是 "= @WORD@" )。

如果情况确实如此,您需要做的就是在后视中添加一个可选的空白:

(?<==\\s?)@.*?@


这是一个测试代码,返回"@WORD@" :

Matcher m = Pattern.compile("(?<==\\s?)@.*?@").matcher("= @WORD@");
m.find();
System.out.println(m.group());

关于Java 和正则表达式中的后视,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13340626/

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