-
Notifications
You must be signed in to change notification settings - Fork 1
/
test.coffee
58 lines (39 loc) · 1.34 KB
/
test.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
match = require '../src/match.js'
console.log '-- Match --'
file = '''
<div><a class="abc" id="123"><strong>Name</strong></a>
</div>
'''
console.log match file, 'href="([^"]+)"'
# null
console.log match file, 'id="([0-9]+)"'
# 123
console.log match file, '<a class="(?<class>[^"]+)" id="(?<class>[^"]+)">'
# { class: '123' }
console.log match '<a class="abc" id="123">', '<a class="([^"]+)" id="([^"]+)">'
# [ 'abc', '123' ]
console.log match file, '''
<div>
.*?
<a class="(?<class>[^"]+)" id="(?<id>[^"]+)">
(?<name>.*?)
</a>
.*?
</div>'''
# { class: 'abc', id: '123', name: '<strong>Name</strong>' }
console.log '\n-- Match All --'
file = '''
<a href="http://blog.vjeux.com/">Vjeux</a>
<a href="http://www.curse.com/">Curse</a>
<a href="http://www.google.com/">Google</a>
'''
console.log match.all file, '<a href="[^"]+">(.*?)</a>'
# [ 'Vjeux', 'Curse', 'Google' ]
console.log match.all file, '<a href="([^"]+)">(.*?)</a>'
#[ [ 'http://blog.vjeux.com/', 'Vjeux' ],
# [ 'http://www.curse.com/', 'Curse' ],
# [ 'http://www.google.com/', 'Google' ] ]
console.log match.all file, '<a href="(?<link>[^"]+)">(?<name>.*?)</a>'
#[ { link: 'http://blog.vjeux.com/', name: 'Vjeux' },
# { link: 'http://www.curse.com/', name: 'Curse' },
# { link: 'http://www.google.com/', name: 'Google' } ]