给出 String 以符号开头: {“,以”} 结尾。在行之间还有其他标点符号,例如:,'或'“等。如何使用java正则表达式实用程序来知道给定的字符串是否以: {”开头。我正在尝试返回布尔值使用:
Pattern.matches(begin, string)
其中
begin = "[\\p{Punct}&&[{]]"
和
string = {"name":"Aman"},{"surname":"Gupta"}.
(请建议使用正则表达式而不是JSON)我想通过仅使用正则表达式来实现。请建议如何实现这一目标。
答案 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*/
}
这将为您提供可能位于两个最近的花括号之间的任何子串。
答案 1 :(得分:2)
Pattern.compile("^{").matcher(string).find()
我不知道为什么你坚持使用\\p{Punct}
,这里完全没必要。
请注意,Pattern.matches()
想要匹配整个字符串,因此当您只想匹配字符串开头的内容时,它就无用了。