Top.Mail.Ru
? ?
musya

Imageunv

unv, posts by tag: javascript - LiveJournal

Entries by tag: javascript

Парсинг JavaScript одним регулярным выражением
musya
Imageunv
Вот таким вот:
(?:(\s+)|(/\*[\s\S]*?(?:\*/|$))|(//[^\r\n]*(?:\r\n?|\n|$))|('(?:[^\\'\r\n]++|\\.)*(?:'|$))|("(?:[^\\"\r\n]++|\\.)*(?:"|$))|((?<=[!%&(*+,./:;<=>?\[{^|}~-]\s{0,16})/(?:[^\\\/\r\n]|\\.)*/\w*)|([!%&()*+,./:;<=>?\[\]{^|}~-])|(\b(?>with|while|volatile|void|var|typeof|try|true|transient|throws|throw|this|synchronized|switch|super|static|short|return|public|protected|private|package|null|new|native|long|interface|int|instanceof|in|import|implements|if|goto|function|for|float|finally|final|false|extends|export|enum|else|double|do|delete|default|debugger|continue|const|class|char|catch|case|byte|break|boolean|abstract)\b)|((?:\b[_A-Za-z]|\B\$)[_\$A-Za-z0-9]*)|(0x[0-9A-Fa-f]+)|((?:\b[0-9]+(?:\.[0-9]*)?|\B\.[0-9]+)(?:[Ee][+-]?[0-9]+)?))


Регулярное выражение выглядит устрашающе, неправда ли? :)
Хотя и не так страшно, как валидация e-mail адреса в формате RFC 822.

Пояснения и аналогичный одноRegExpовый парсер для XML под катомCollapse )

Image