Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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_Split - Fatal编程技术网

Java正则表达式问题?

Java正则表达式问题?,java,regex,split,Java,Regex,Split,我对java中的正则表达式有问题 我的路线是: CREATE CHAN:NAME=BTSM:1/BTS:2/TRX:5/CHAN:7,CHTYPE=TCHF_HLF,FHSYID=FHSY_0 我想要这个: content [0] = BTSM:1/BTS:2/TRX:5/CHAN:7 content [1] = CHTYPE content [2] = TCHF_HLF content [3] = FHSYID content [4] = FHSY_0 我写道: String[] cont

我对java中的正则表达式有问题

我的路线是:

CREATE CHAN:NAME=BTSM:1/BTS:2/TRX:5/CHAN:7,CHTYPE=TCHF_HLF,FHSYID=FHSY_0
我想要这个:

content [0] = BTSM:1/BTS:2/TRX:5/CHAN:7
content [1] = CHTYPE
content [2] = TCHF_HLF
content [3] = FHSYID
content [4] = FHSY_0
我写道:

String[] content = value.split("^=/:|,|=|,$");
但这不起作用:( 所以请告诉我。。。 非常感谢

String[] content = value.replaceFirst("^[^=]*=", "").split("[,=]");
你应该做你想做的

我不明白你是如何推导出
“^=/:|,|=|,$”
的,所以我不能告诉你哪里出了问题,但下面是它的详细说明

^=/:

如果字符串
=/:
出现在结果的开头,它将跳过该字符串,并在结果的开头粘贴一个空字符串。可能您需要一个字符集。
[=/:]
是一个与这些字符中任何一个匹配的字符集

,

这将在任何逗号上拆分

=

这将在任何等号上拆分

,$

这将跳过输入末尾的逗号(或输入末尾的换行符之前),如果跳过,将在拆分结果的末尾粘贴一个空字符串

你应该做你想做的

我不明白你是如何推导出
“^=/:|,|=|,$”
的,所以我不能告诉你哪里出了问题,但下面是它的详细说明

^=/:

如果字符串
=/:
出现在结果的开头,它将跳过该字符串,并在结果的开头粘贴一个空字符串。可能您需要一个字符集。
[=/:]
是一个与这些字符中任何一个匹配的字符集

,

这将在任何逗号上拆分

=

这将在任何等号上拆分

,$


这将跳过输入末尾的逗号(或输入末尾的换行符之前),如果跳过,将在拆分结果的末尾粘贴一个空字符串。

我不知道你要传递给
split()的到底是什么东西
是,但您需要做的是在第一个
=
中删除所有内容后,在出现
=
时进行拆分。这可以通过以下方法实现:

String[] content = (value.substring(value.indexOf('=') + 1)).split("[,=]"); 字符串[]内容=(value.substring(value.indexOf('=')+1)).split(“[,=]”);
我不知道你要传递给
split()
的东西到底是什么,但你需要做的是在第一次
=
删除所有内容后,在出现
=
时进行拆分。这可以通过以下方法实现:

String[] content = (value.substring(value.indexOf('=') + 1)).split("[,=]"); 字符串[]内容=(value.substring(value.indexOf('=')+1)).split(“[,=]”);
+1简单,我喜欢。RegEx不是解决所有问题的工具。+1简单,我喜欢它。RegEx不是解决所有问题的工具。哦,更好。简单总是让我开心=)哦,更好。简单总是让我快乐=)