diff --git a/autoload/emmet/lang/html.vim b/autoload/emmet/lang/html.vim
index e6a8d92..7e3962b 100644
--- a/autoload/emmet/lang/html.vim
+++ b/autoload/emmet/lang/html.vim
@@ -4,7 +4,7 @@ let s:mx = '\([+>]\|[<^]\+\)\{-}\s*'
\ .'\('
\ .'\%('
\ .'\%(#{[{}a-zA-Z0-9_\-\$]\+\|#[a-zA-Z0-9_\-\$]\+\)'
-\ .'\|\%(\[[^\]]\+\]\)'
+\ .'\|\%(\[\%([a-zA-Z0-9_\-.=]\|"[^"]*"\)\+\]\)'
\ .'\|\%(\.{[{}a-zA-Z0-9_\-\$]\+\|\.[a-zA-Z0-9_\-\$]\+\)'
\ .'\)*'
\ .'\)'
@@ -190,7 +190,8 @@ function! emmet#lang#html#parseIntoTree(abbr, type)
if len(attributes)
let attr = attributes
while len(attr)
- let item = matchstr(attr, '\(\%(\%(#[{}a-zA-Z0-9_\-\$]\+\)\|\%(\[[^\]]\+\]\)\|\%(\.[{}a-zA-Z0-9_\-\$]\+\)*\)\)')
+ let item = matchstr(attr, '\(\%(\%(#[{}a-zA-Z0-9_\-\$]\+\)\|\%(\[\%([a-zA-Z0-9_\-.=]\|"[^"]*"\)\+\]\)\|\%(\.[{}a-zA-Z0-9_\-\$]\+\)*\)\)')
+ echomsg item
if len(item) == 0
break
endif