I would not use regex, I would tokenize the string and build up a dictionary. Sorry, this is a Python implementation (not Java):
>>> s ="""@AAAA{tralala10aa,
author = {Some Author},
title = {Some Title},
booktitle = {Some Booktitle},
year = {2010},
month = {March},
booktitle_short = {CC 2010},
conference_url = {http://www.mmmm.com},
projects = {projects}
}"""
>>>
>>> s
'@AAAA{tralala10aa,\n author = {Some Author},\n title = {Some Title},\n booktitle = {Some Booktitle},\n year = {2010},\n month = {March},\n booktitle_short = {CC 2010},\n conference_url = {http://www.mmmm.com},\n projects = {projects}\n}'
>>>
>>>
>>> lst = s.replace('@AAA', '').replace('{', '').replace('}', '').split(',\n')
>>> lst
['Atralala10aa', ' author = Some Author', ' title = Some Title', ' booktitle = Some Booktitle', ' year = 2010', ' month = March', ' booktitle_short = CC 2010', ' conference_url = http://www.mmmm.com', ' projects = projects\n']
>>> dct = dict((x[0].strip(), x[1].strip()) for x in (y.split('=') for y in lst[1:]))
>>> dct
{'booktitle_short': 'CC 2010', 'title': 'Some Title', 'booktitle': 'Some Booktitle', 'author': 'Some Author', 'month': 'March', 'conference_url': 'http://www.mmmm.com', 'year': '2010', 'projects': 'projects'}
>>>
>>> dct['title']
'Some Title'
>>>
Hopefully the code above seems self explanatory.