Java 如何编写正则表达式以仅提取前面有特定字符串的数字?

Java 如何编写正则表达式以仅提取前面有特定字符串的数字?,java,regex,Java,Regex,我有一个字符串(包含JSON): 我希望使用正则表达式仅提取类型号,以便输出为以下字符串: [236 , 2 , 95] 我怎样才能做到这一点?为什么您特别想要一个regexp?如果输入是JSON,我将使用。它将专门用于解析上述内容和处理边缘情况等。为什么不使用a解析它,然后从结果结构中提取指向类型键的所有值?使用正则表达式来解析定义格式(如JSON)的文本是一种很好的方法。您可以使用正则表达式来解析文本,但更好的方法是使用: 如果您使用专用的JSON解析器(正则表达式本身可能相当神秘),那

我有一个字符串(包含JSON):

我希望使用正则表达式仅提取类型号,以便输出为以下字符串:

[236 , 2 , 95]

我怎样才能做到这一点?

为什么您特别想要一个regexp?如果输入是JSON,我将使用。它将专门用于解析上述内容和处理边缘情况等。

为什么不使用a解析它,然后从结果结构中提取指向
类型
键的所有值?使用正则表达式来解析定义格式(如JSON)的文本是一种很好的方法。

您可以使用正则表达式来解析文本,但更好的方法是使用:

  • 如果您使用专用的JSON解析器(正则表达式本身可能相当神秘),那么代码中处理JSON的内容可能会更清楚
  • 使用起来会容易得多
  • 它将更加可靠,特别是在正则表达式可能崩溃的情况下(正确实现的JSON解析器应该正确处理所有情况)

因此,是的,您可能可以通过编写一个正则表达式来实现这一点,但由于有一个全面的JSON解析器(我链接到的那个)可以免费使用,因此用正则表达式的方式实现这一点毫无意义。

像往常一样:您尝试了什么?
[236 , 2 , 95]