Packages
floki
0.4.1
0.38.4
0.38.3
0.38.2
0.38.1
0.38.0
0.37.1
0.37.0
0.36.3
0.36.2
0.36.1
0.36.0
0.35.4
0.35.3
0.35.2
0.35.1
0.35.0
0.34.3
0.34.2
0.34.1
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.1
0.30.0
0.29.0
0.28.0
0.27.0
0.26.0
0.25.0
0.24.0
0.23.1
0.23.0
0.22.0
0.21.0
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.2
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.0
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.1
0.1.0
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Floki is a simple HTML parser that enables search for nodes using CSS selectors.
Current section
Files
Jump to
Current section
Files
src/floki_selector_lexer.xrl
Definitions.
IDENTIFIER = [-A-Za-z0-9_]+
QUOTED = (\".*\"|\'.*\')
SYMBOL = [\[\]*]
W = [\s\t\r\n\f]
Rules.
{IDENTIFIER} : {token, {identifier, TokenLine, TokenChars}}.
{QUOTED} : {token, {quoted, TokenLine, remove_quotes(TokenChars)}}.
{SYMBOL} : {token, {TokenChars, TokenLine}}.
#{IDENTIFIER} : {token, {hash, TokenLine, tail(TokenChars)}}.
\.{IDENTIFIER} : {token, {class, TokenLine, tail(TokenChars)}}.
~= : {token, {includes, TokenLine}}.
\|= : {token, {dash_match, TokenLine}}.
\^= : {token, {prefix_match, TokenLine}}.
\$= : {token, {sufix_match, TokenLine}}.
\*= : {token, {substring_match, TokenLine}}.
= : {token, {equal, TokenLine}}.
{W}*, : {token, {comma, TokenLine}}.
{W}*>{W}* : {token, {greater, TokenLine}}.
{W}*\+{W}* : {token, {plus, TokenLine}}.
{W}+ : {token, {space, TokenLine}}.
. : {token, {unknown, TokenLine, TokenChars}}.
Erlang code.
remove_quotes(Chars) ->
Len = string:len(Chars),
string:substr(Chars, 2, Len - 2).
tail([_|T]) ->
T.