-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample.js
More file actions
20 lines (17 loc) · 788 Bytes
/
example.js
File metadata and controls
20 lines (17 loc) · 788 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var Expressionism = require('./expressionism'),
expr = Expressionism.expr,
zeroOrOne = Expressionism.zeroOrOne,
zeroOrMore = Expressionism.zeroOrMore,
oneOrMore = Expressionism.oneOrMore,
anythingBut = Expressionism.anythingBut,
many = Expressionism.many,
or = Expressionism.or,
word = Expressionism.word;
var identifier = expr(zeroOrOne('#.:'), oneOrMore(word, '-*'));
var attribute = expr('[', oneOrMore(word, '=-~\'"|'), ']');
var pseudoElement = expr(many(':', 2), oneOrMore(word, '-'));
var pattern = expr(identifier, or, attribute, or, pseudoElement);
console.log(pattern);
// => /[#\.:]?[\w\-\*]+|\[[\w=\-~'"\|]+\]|:{2}[\w\-]+/
console.log(/[#\.:]?[\w\-\*]+|\[[\w=\-~'"\|]+\]|:{2}[\w/-]+/);
// => /[#\.:]?[\w\-\*]+|\[[\w=\-~'"\|]+\]|:{2}[\w/-]+/