gpt4 book ai didi

java - 我正在尝试使用正则表达式来匹配输入文件中的一行

转载 作者:可可西里 更新时间:2023-11-01 16:37:36 24 4
gpt4 key购买 nike

我有一个输入文件,其中的行包含 10 列,格式如下:

String,Only Integer,Only String,Alpha Numeric,Alpha Numeric of length 7,
Alpha Numeric of length 7(with 1,3,4 as characters and 2,5,6,7 as digits),
Decimal(range from 0.4 to 0.8),Decimal,Only String,Only Integer of length 5

所有 10 列都在同一行中。我正在尝试使用正则表达式模式仅获取第 7、8、9 列。我正在尝试使用此正则表达式。有人可以帮忙吗。

private static class RegexParser{
private static final String regex = "(.*),(^[0-9]*$),(^[a-z][A-Z]*$),"
+ "(^[a-z][A-Z][0-9]*$),(^[a-z][A-Z][0-9]{7}*$),"
+ "([a-z][0-9][a-z][a-z][-9][0-9][0-9]{7}*$),([0].[4-8]*$),"
+ "(^[0-9]+(.[0-9][0-9]?)?),(.*),(^[1-9]{5}*$)";
private static final Pattern pattern = Pattern.compile(regex);

private Matcher matcher = pattern.matcher("");

public String parse(String line) {
matcher = matcher.reset(line);
if (matcher.matches()) {
String m = matcher.group(7) + matcher.group(8) + matcher.group(9);
return m;
}
return null;
}
}

最佳答案

正则表达式中的匹配组对于您的场景来说似乎有点矫枉过正。使用 CSV 解析器,或者如果所有值都以逗号分隔并且没有任何值包含逗号,那么像这样简单的事情可能就可以解决问题。

String[] elements = line.split(",");

return elements[7] + elements[8] + elements[9];

关于java - 我正在尝试使用正则表达式来匹配输入文件中的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48800343/

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