正则表达式由“:{在Java中?

时间:2018-12-02 04:34:26

标签: java regex

基本上我有:

 String str = "Stream: {"stream":null,"_links":{"self":"https://api.twitch.tv/kraken/streams/tfue","channel":"https://api.twitch.tv/kraken/channels/tfue"}}";

我想用":{分割str 但是当我这样做时:

String[] BuftoStringparts = BuftoString.split("\":{");

我得到以下例外:

  

java.util.regex.PatternSyntaxException:在索引1附近非法重复   “:{    ^

非常感谢所有回复:)

2 个答案:

答案 0 :(得分:1)

发生这种情况的主要原因:

  

java.util.regex.PatternSyntaxException:在索引1“:{^

附近非法重复

这是因为它们是Java正则表达式中的特殊字符,因此您需要将其转义用于正则表达式,因此可通过以下方式进行操作:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="tables_container"></div>

答案 1 :(得分:0)

首先,您需要在JSON字符串中转义",因此生成的字符串将为:

 String str = "Stream: {\"stream\":null,\"_links\":{\"self\":\"https://api.twitch.tv/kraken/streams/tfue\",\"channel\":\"https://api.twitch.tv/kraken/channels/tfue\"}}";

现在,正如其他人所述,您还需要在正则表达式中转义正则表达式特殊字符。  您可以按照以下正则表达式尝试拆分:

String[] BuftoStringparts = BuftoString.split("\":\\{");