给出字符串“Neil,Gogte。,Satyam,B。:Java简介”
我只需要提取“Neil,Gogte”。和“萨蒂扬,B”从使用正则表达式的给定字符串我该怎么办?
答案 0 :(得分:0)
您可以matcher
使用group
String str = "Neil, Gogte., Satyam, B.: Introduction to Java";
Pattern pattern = Pattern.compile("([a-zA-Z]+, [a-zA-Z]+\\.)");
Matcher matcher = pattern.matcher(str);
while(matcher.find()){
String result = matcher.group();
System.out.println(result);
}
答案 1 :(得分:0)
您可以使用以下正则表达式来拆分字符串。这匹配.,
存在的任何位置:
(?<=\.),\s*
(?<=\.)
确保前面的正面背后是字面点字符.
,\s*
匹配,
后跟任意数量的空白字符import java.util.*;
import java.util.regex.Pattern;
class Main {
public static void main(String[] args) {
final String s = "Neil, Gogte., Satyam, B.: Introduction to Java";
final Pattern r = Pattern.compile("(?<=\\.),\\s*");
String[] result = r.split(s);
Arrays.stream(result).forEach(System.out::println);
}
}
结果:
Neil, Gogte.
Satyam, B.: Introduction to Java
答案 2 :(得分:0)
您可以使用此正则表达式匹配您的姓名:
在Java中:
[A-Z][a-z]+, [A-Z][a-z]*\\.
那就匹配
[A-Z]
匹配大写字符[a-z]+
匹配一个或多个小写字符,
匹配逗号和空白[A-Z]
匹配大写字符[a-z]*
匹配零个或多个小写字符\.
匹配一个点