gpt4 book ai didi

java - 如何为带有数字括号的 "Name(2)"单词制作正则表达式

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:12 25 4
gpt4 key购买 nike

我需要为此创建一个正则表达式

示例

数学(5)、英语(6)、体育(5)

最佳答案

我猜也许是这样,

(?<=,|^)([^(,]*)\((\d*)\)(?=,|$)

可能与您的想法很接近。

测试

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class re{

public static void main(String[] args){

final String regex = "(?<=,|^)([^(,]*)\\((\\d*)\\)(?=,|$)";
final String string = "math(5),English(6),P.E(5)";

final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);

while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}

}
}

输出

Full match: math(5)
Group 1: math
Group 2: 5
Full match: English(6)
Group 1: English
Group 2: 6
Full match: P.E(5)
Group 1: P.E
Group 2: 5
<小时/>

如果您想简化/修改/探索表达式,regex101.com 的右上角面板已对此进行了解释。 。如果您愿意,也可以在 this link 观看,它如何与一些示例输入相匹配。

<小时/>

关于java - 如何为带有数字括号的 "Name(2)"单词制作正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57931742/

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