2

给定一个以符号{"开头并以"}结尾的字符串。行之间还存在其他标点符号,例如:、' 或 "" 等。如何使用 java regex 实用程序来了解给定的字符串是否以{"开头。我正在尝试使用以下方法返回布尔值:

Pattern.matches(begin, string) 

在哪里

begin = "[\\p{Punct}&&[{]]" 

string = {"name":"Aman"},{"surname":"Gupta"}. 

(请建议使用 regex 选项而不是 JSON)我想只使用 regex 来做到这一点。请提出一种方法来实现这一点。

4

2 回答 2

3

你应该像这样尝试:

 Pattern p = Pattern.compile("\{.*?\}");
 Matcher m = p.matcher(/*your string here*/);
 while (m.find()){
     String substringInBraces = m.group();
     /*do smth with your substring*/
 }

这将为您提供可能位于两个最近的花括号之间的任何内容的子字符串。

你可能有兴趣阅读这个这个

于 2012-09-10T13:33:11.110 回答
2

Pattern.compile("^{").matcher(string).find()

我不知道你为什么坚持使用\\p{Punct},这里完全没有必要。

请注意,Pattern.matches()要匹配整个字符串,因此当您只想匹配字符串开头的某些内容时,它没有用。

于 2012-09-10T13:25:16.947 回答