我尝试创建一个正则表达式,这将帮助我解决以下问题,但无法:
示例词:mumbai(10)
正则表达式应检查单词是否以上述单词(10)
中的值{I "Mumbai(10)"
的括号结尾。并且应该提取值I.e.10。
如果单词是Mum(10)bai
,则输出结果不应该是。
答案 0 :(得分:1)
您可以使用以下内容进行匹配:
\\((\\d+)\\)$
并提取第1组$1
作为值。
请参阅DEMO
Java代码:
String str = "mumbai(10)";
Matcher m = Pattern.compile("\\((\\d+)\\)$").matcher(str);
if (m.find()) {
System.out.println(m.group(1));
}
答案 1 :(得分:-1)
答案 2 :(得分:-1)
String string = "mumbai(10)";
Pattern p = Pattern.compile("^.*\\((\\d+)\\)$");
Matcher m = p.matcher(string);
if (m.matches()) {
System.out.println(m.group(1));
}
^
和$
分别表示开头和结尾。 .*
只匹配任何内容。括号需要进行转义,因为它们代表正则表达式中的一个组,之后正在使用它。然后可以使用m.group(1)
提取捕获的组。