gpt4 book ai didi

java - 如何通过匹配已知的关键字集来提取子字符串

转载 作者:行者123 更新时间:2023-12-01 16:36:14 25 4
gpt4 key购买 nike

尝试提取特定代码后的子字符串

String sample1 = "/ASDF/096/GHJKL/WER/WER/dv/7906/CODEM/TEAR1331927498xxxxxx/YUII/OPL";
String sample2 = "/CODEM/TEAR1331927498xxxxxx";

String regExpresssion = "[/CODEM/]{6}(^[a-zA-Z0-9|\\s])?";
final Pattern pattern = Pattern.compile(regExpresssion);
final Matcher matcher = pattern.matcher(sample1);
if (matcher.find()) {
String subStringOut = sample1.substring(matcher.end());
}

subStringOut for sample 1 > TEAR1331927498xxxxxx/YUII/OPL
subStringOut for sample 2 > TEAR1331927498xxxxxx

上面的代码工作正常,但现在我需要在下面示例的正则表达式中添加一个标识符“/CODER/”

String sample3 = "/ASDF/096/GHJKL/WER/WER/dv/7906/CODER/TEAR1331927498xxxxxx/YUII/OPL";

我已经尝试过

String regExpresssion = "[/CODEM/|/CODER/]{6}(^[a-zA-Z0-9|\\s])?"; 

但它不起作用。大家有什么建议吗?

谢谢!!

最佳答案

尝试将 [/CODEM/|/CODER/]{6} 替换为 /CODE[RM]/

我认为您的意思是匹配整个短语/CODEM/或/CODER/但由于您编写的方式,您接受任何 6 个字符长的字符的任何序列。但我并不完全确定。括号代表“字符类”,它们仅匹配单个字符,如果您想匹配连续多个字符,请使用括号。另外,第二部分对我来说没有意义,因为指数符号位于短语的中间,并且在这种情况下它与行的开头匹配。

关于java - 如何通过匹配已知的关键字集来提取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61940304/

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