我有字符串:
@Table(name = "T_MEM_MEMBER_ADDRESS1")
@Table( name = "T_MEM_MEMBER_ADDRESS2")
@Table ( name = "T_MEM_MEMBER_ADDRESS3" )
我想写一个正则表达式,它可以获取名称值,例如:
T_MEM_MEMBER_ADDRESS1
T_MEM_MEMBER_ADDRESS2
T_MEM_MEMBER_ADDRESS3
我写
String regexPattern="...";
Pattern pattern = Pattern.compile(regexPattern);
Matcher matcher = pattern.matcher(input);
boolean matches = matcher.matches();
if (matches){
log.debug(matcher.group(1));
}
但是我不能写regexPattern ..
答案 0 :(得分:1)
您可以使用此正则表达式:
(?<=")(.+)(?=")
在Java中:
String regexPattern="(?<=\")(.+)(?=\")";
它使用了后视和前瞻。
第1组将包含您想要的内容。
答案 1 :(得分:0)
您可以使用以下代码:
String input = "@Table(name = \"T_MEM_MEMBER_ADDRESS1\")";
String regexPattern=".*\"(.*)\".*";
Pattern pattern = Pattern.compile(regexPattern);
Matcher matcher = pattern.matcher(input);
boolean matches = matcher.matches();
if (matches){
System.out.println(matcher.group(1));
}
希望它有所帮助。