「java取括号内容」java取括号里的值
本篇文章给大家谈谈java取括号内容,以及java取括号里的值对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java中如何用正则表达提取中括号嵌套中括号中的内容?
- 2、Java中怎么截取括号中的内容放到list里。
- 3、求助 java正则表达式将括号里的内容提取出来
- 4、JAVA正则表达式获取大括号内容
- 5、java 中 提取 括号里的数据
- 6、java如何获取最外层大括号内容,其中可能包含大括号
Java中如何用正则表达提取中括号嵌套中括号中的内容?
一定要用正则吗,如果不用正则的话,可以讲所有的中括号用replace()方法替换掉,然后用spilt()方法,以逗号隔开,得到的字符串数组就是你要的内容。
如果用正则的话,代码如下
import java.util.regex.*;
public class RegDemo
{
public static void main(String args[]){
String reg="\\[+([a-z]{1,}|_)+[a-z]{1,}+\\]";
//只用reg2可以匹配两个括号的内容
//String reg2="\\[\\[+([a-z]{1,}|_)+[a-z]{1,}+\\]\\]"
//这里的content就是要用来匹配的数据
String content="[world],[hello],[[hello_world]]";
//以逗号分隔
String arr[]=content.split(",");
for(int i=0;iarr.length;i++){
Pattern pattern=Pattern.compile(reg);
Matcher matcher=pattern.matcher(arr[i]);
if(matcher.find()){
//得到第一次循环的内容,判断里面还有中括号没有
String target1=matcher.group();
if(target1.contains("[")){
//把所有的方括号替换掉,就得到想要的数据了
target1=target1.replace("[","");
target1=target1.replace("]","");
}
System.out.println(target1);
}
}
}
}
Java中怎么截取括号中的内容放到list里。
采用正则表达式来处理;
例子如下 :
String s="dsaf(323)ldsao,(sd)"; \\示例文本
String pattern="(\\([^\\)]+\\))"; \\正则表达式,匹配括号内容
ArrayList list=new ArrayList();
Pattern p=Pattern.compile(pattern);
Matcher m=p.matcher(s);
while(m.find()){
list.add(m.group());
}
求助 java正则表达式将括号里的内容提取出来
1.就用LS的例子来改进吧,LS的例子用正则匹配的捕获型,也就是说除了捕获了/patroninfo~S0*chx/1069163/modpinfo,还捕获了带单引号的 '/patroninfo~S0*chx/1069163/modpinfo‘ (输出 System.out.println(mat.group(0) 就是);
这样无论在效率还是安全性上都有欠缺。
2 Pattern.compile("\\'(.*?)\\'")也可以改为Pattern pat = Pattern.compile("\'(.*?)\'"),减少代码冗余和理解复杂度。
捕获用法:
public class Test {
public static void main(String[] args) {
String str = "a href=\"#\" onClick=\"return open_new_window( '/patroninfo~S0*chx/1069163/modpinfo' )\"";
Pattern pat = Pattern.compile("\'(.*?)\'");
Matcher mat = pat.matcher(str);
if (mat.find()) {
System.out.println(mat.group(1));
}
}
}
非捕获方法:
public class Test {
public static void main(String[] args) {
String str = "a href=\"#\" onClick=\"return open_new_window( '/patroninfo~S0*chx/1069163/modpinfo' )\"";
Pattern pat = Pattern.compile("(?=\').*(?=\')");
Matcher mat = pat.matcher(str);
if (mat.find()) {
System.out.println(mat.group(0));
}
}
}
JAVA正则表达式获取大括号内容
代码如下:
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) throws Exception {
String test = "{databaseIp}:{databasePort}{instanceName};database";
ListString ls=new ArrayListString();
Pattern pattern = Pattern.compile("(?=\\{)(.+?)(?=\\})");
Matcher matcher = pattern.matcher(test);
while(matcher.find()){
ls.add(matcher.group());
}
for (String string : ls) {
System.out.println(string);
}
}
正则表达式语法实例:
public static void main(String[] args) {
// 要验证的字符串
String str = "service@xsoftlab.net";
// 邮箱验证规则
String regEx = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";
// 编译正则表达式
Pattern pattern = Pattern.compile(regEx);
// 忽略大小写的写法
// Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
// 字符串是否与正则表达式相匹配
boolean rs = matcher.matches();
System.out.println(rs);
}
java 中 提取 括号里的数据
"movie1(1968)/ Male1/Male2/Famale1"
这个是字符串吗?
如果是用subString 就可以截取到的
补充你的回答
可以以“(”和 “)”截取
具体方法是:
String Str="movie1(1968)/ Male1/Male2/Famale1";
String NewStr=Str.substring(Str.indexOf("(")+1, Str.lastIndexOf(")"));
System.out.println(NewStr);
java如何获取最外层大括号内容,其中可能包含大括号
按照你的要求编写的获取最外层大括号内容的Java程序如下
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GG {
public static void main(String[] args) {
String s="start1 { a:'aaa',b:{b1:'bb1',b2:'bb2'},cc:'cc1',dd (good):{say good} },start2:{e:false,f:123},start3{g1,g2,g3}";
String regex="start\\d+:?\\s*\\{(.+?)\\}(?=(,start\\d+:?)|$)";
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(s);
while(m.find()){
System.out.println(m.group(1));
}
}
}
Java正则表达式 start\\d+:?\\s*\\{(.+?)\\}(?=(,start\\d+:?)|$)
运行结果
a:'aaa',b:{b1:'bb1',b2:'bb2'},cc:'cc1',dd (good):{say good}
e:false,f:123
g1,g2,g3
java取括号内容的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java取括号里的值、java取括号内容的信息别忘了在本站进行查找喔。