「java取括号内容」java取括号里的值

博主:adminadmin 2023-01-27 17:39:10 186

本篇文章给大家谈谈java取括号内容,以及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取括号内容的信息别忘了在本站进行查找喔。