gpt4 book ai didi

java - 正则表达式获取比率 x/y 的分子和分母

转载 作者:行者123 更新时间:2023-11-29 03:26:45 25 4
gpt4 key购买 nike

输出很好,我假设输入是“nice”并且是 x/y 形式,没有空格,并且只是整数值:

run:
272/273
matching group 1
272
273
matching group 2
BUILD SUCCESSFUL (total time: 0 seconds)

代码:

package stackoverflow;

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import static java.lang.System.out;

public class Ratio {

private static String line = "272/273";

public static void main(String[] args) {
out.println(line);
ratios(1);
ratios(2);
}

private static void ratios(int numeratorDenominator) {
out.println("matching group " + numeratorDenominator);
Pattern pattern = Pattern.compile("(\\w+)");
Matcher matcher;
matcher = pattern.matcher(line);
while (matcher.find()) {
try {
out.println(matcher.group(numeratorDenominator));
} catch (IndexOutOfBoundsException obe) {
}
}
}
}

然而,它并没有完全达到标准。有没有不同的或更好的方法来获得分母?我不是在寻找一些晦涩的正则表达式,而是,例如,要锚定到行尾,获取最后一个词而不是第一个词?

就我而言,word 可以正常工作,尽管 digits 也可以。/d 我想。

最佳答案

因为我们假设输入很好:

String regex = "/(\\d+)$"

/ 匹配 /
(\\d+)/
之后的 1 个或多个数字的捕获组$ 表示字符串结束。

关于java - 正则表达式获取比率 x/y 的分子和分母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20659448/

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