如何在java中使用\\ p {Punct}来检查文本行的开头:{“

时间:2012-09-10 13:02:25

标签: java regex

给出 String 以符号开头: {“,以”} 结尾。在行之间还有其他标点符号,例如:,'或'“等。如何使用java正则表达式实用程序来知道给定的字符串是否以: {”开头。我正在尝试返回布尔值使用:

Pattern.matches(begin, string) 

其中

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

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

(请建议使用正则表达式而不是JSON)我想通过仅使用正则表达式来实现。请建议如何实现这一目标。

2 个答案:

答案 0 :(得分:3)

你应该像这样尝试smth:

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

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

您可能有兴趣阅读thisthis

答案 1 :(得分:2)

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

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

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