Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java正则表达式?_Java_Regex - Fatal编程技术网

Java正则表达式?

Java正则表达式?,java,regex,Java,Regex,我在一个Strg[]中有一组CSV提取的数据,每个元素的格式都是[bla-bla,bla2-bla2]。现在,我想去掉逗号之前的所有数据,同时去掉[]。基本上,输出应该是bla-bla 有人能帮我吗?我已经和regex打了一个小时了 我一直在使用这个正则表达式:“^[^\\[,*]”(它的意思是“从一开始就选择所有,除了[,直到第一个,”) 解释 ^ beginning of the string \[ opening [ ([^,]*) capture

我在一个
Strg[]
中有一组CSV提取的数据,每个元素的格式都是
[bla-bla,bla2-bla2]
。现在,我想去掉逗号之前的所有数据,同时去掉
[]
。基本上,输出应该是
bla-bla

有人能帮我吗?我已经和regex打了一个小时了

我一直在使用这个正则表达式:
“^[^\\[,*]”
(它的意思是“从一开始就选择所有,除了
[
,直到第一个
”)

解释

^          beginning of the string
\[         opening [
([^,]*)    capture as much as you can, except ,
,.*        rest of string inside brackets
\]         closing ]
$          end of string

在线试用。

String temp=str.substring(1,str.indexOf(“,”)

不使用正则表达式求解它

String str = "[bla bla,bla2 bla2]";
    str.substring(1,str.indexOf(","));
如果你需要正则表达式a,我们可以做一些类似的事情

String str = "[bla bla,bla2 bla2]";

Pattern p = Pattern.compile("([^\\[][^\$,]*)");
Matcher m = p.matcher(str);
if(m.find()) {
    System.out.println( m.group(1));
}
使用的正则表达式是:
([^\[[^\$,]*)


如果您想尝试这个正则表达式,请访问显示您正在使用的
regex
,您甚至需要一个正则表达式。您只需执行String str=“[bla bla,bla2 bla2]”String temp=str.substring(1,str.indexOf(“,”);事实上,这已经足够了……非常感谢!也足够了
String str = "[bla bla,bla2 bla2]";

Pattern p = Pattern.compile("([^\\[][^\$,]*)");
Matcher m = p.matcher(str);
if(m.find()) {
    System.out.println( m.group(1));
}