Java字符串split()正则表达式

用户名

我有这样的字符串,

["[number][name]statement_1.","[number][name]statement_1."]

我只想statement_1statement_2我曾经尝试过这种方式

String[] statement = message.trim().split("\\s*,\\s*");

但它给["[number][name]statement_1.""[number][name]statement_2."]我怎么只能得到statement_1statement_2

zx81

全部匹配而不是拆分

拆分和匹配全部是同一枚硬币的两个面。在这种情况下,“全部匹配”会更容易。

您可以使用此正则表达式:

(?<=\])[^\[\]"]+(?=\.)

正则表达式演示中查看匹配项

在Java代码中:

Pattern regex = Pattern.compile("(?<=\\])[^\\[\\]\"]+(?=\\.)");
Matcher regexMatcher = regex.matcher(yourString);
while (regexMatcher.find()) {
    // the match: regexMatcher.group()
} 

在回答您的问题以分别获得两个匹配项时:

Pattern regex = Pattern.compile("(?<=\\])[^\\[\\]\"]+(?=\\.)");
Matcher regexMatcher = regex.matcher(yourString);
if (regexMatcher.find()) {
    String theFirstMatch: regexMatcher.group()
} 
if (regexMatcher.find()) {
    String theSecondMatch: regexMatcher.group()
} 

说明

  • 后向(?<=\])断言当前位置之前是]
  • [^\[\]"]+匹配一个或多个不是的字符[]或者"
  • 前瞻(?=\.)断言下一个字符是一个点

参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java字符串split()正则表达式

来自分类Dev

Java正则表达式匹配字符串

来自分类Dev

Java字符串与正则表达式的区别?

来自分类Dev

Java正则表达式截断字符串

来自分类Dev

正则表达式以匹配Java字符串

来自分类Dev

Java字符串带正则表达式

来自分类Dev

Java正则表达式验证字符串

来自分类Dev

Java正则表达式拆分字符串

来自分类Dev

与正则表达式匹配的Java字符串

来自分类Dev

字符串的Java正则表达式

来自分类Dev

Java正则表达式拆分字符串

来自分类Dev

Java字符串替换正则表达式

来自分类Dev

Java正则表达式拆分字符串

来自分类Dev

请求Java正则表达式字符串

来自分类Dev

Java正则表达式截断字符串

来自分类Dev

字符串中的Java正则表达式

来自分类Dev

等效的 java 正则表达式字符串

来自分类Dev

字符串模式的 Java 正则表达式

来自分类Dev

查找所有字符串的正则表达式是在Java中以$开头的正则表达式

来自分类Dev

使用Java正则表达式在字符串中间查找匹配的字符串

来自分类Dev

Java正则表达式从字符串中删除重复的子字符串

来自分类Dev

Java的正则表达式从字符串中提取数字和字符串

来自分类Dev

通过正则表达式从正则表达式添加字符串

来自分类Dev

正则表达式:为字符串编辑正则表达式

来自分类Dev

长字符串上的Java正则表达式(字符串缓冲区)

来自分类Dev

长字符串上的Java正则表达式(字符串缓冲区)

来自分类Dev

正则表达式之间切字符串

来自分类Dev

使用正则表达式匹配字符串?

来自分类Dev

正则表达式区分字符串键