-
Notifications
You must be signed in to change notification settings - Fork 1
/
challenge19.html
216 lines (210 loc) · 7.71 KB
/
challenge19.html
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>正则周二挑战赛 - 第十九周</title>
<link rel="stylesheet" href="assets/style.css">
</head>
<body>
<header>
<h1>正则周二挑战赛 - 第十九周</h1>
<nav>
<a href="./">« 查看所有挑战</a>
</nav>
</header>
<section>
<blockquote>
<p>
<span title="Challenge number nineteen is another golf challenge;">
这又是一次高尔夫挑战;
</span>
<span title="in this challenge, you must match all the valid HTML tag names in as few characters as possible.">
本次挑战,你的目标是匹配在所有有效的 html 标签,而且用最精简的正则实现。
</span>
<span title="You match only valid tag names - more failing test cases may be added later.">
你需要匹配 <em>有效的 html 标签</em> - 直接看下面例子吧。
</span>
</p>
</blockquote>
<blockquote>在你输入正则之后,每个测试用例都会标注为是否通过,红色是未通过,绿色是通过,因为是基于 web 的,所以只能使用基于 JavaScript 传统型 NFA (Traditional NFA)正则引擎。它类似于PCRE,但有一些不同之处。</blockquote>
<p class='single-input'>
<textarea id="find" placeholder="/正则? 写这里../i"></textarea>
</p>
<h3>测试用例 (<span id='passed-count'>0</span>/168) <a id='permalink' class='button' href='./challenge17.html'>永久链接 (分享连接)</a> <label id="hide_passing"><input type="checkbox"> 隐藏通过的条目</label></h3>
<dl id='tests'>
<dt>a</dt><dd>匹配</dd>
<dt>abbr</dt><dd>匹配</dd>
<dt>address</dt><dd>匹配</dd>
<dt>area</dt><dd>匹配</dd>
<dt>article</dt><dd>匹配</dd>
<dt>aside</dt><dd>匹配</dd>
<dt>audio</dt><dd>匹配</dd>
<dt>b</dt><dd>匹配</dd>
<dt>base</dt><dd>匹配</dd>
<dt>bdi</dt><dd>匹配</dd>
<dt>bdo</dt><dd>匹配</dd>
<dt>blockquote</dt><dd>匹配</dd>
<dt>body</dt><dd>匹配</dd>
<dt>br</dt><dd>匹配</dd>
<dt>button</dt><dd>匹配</dd>
<dt>canvas</dt><dd>匹配</dd>
<dt>caption</dt><dd>匹配</dd>
<dt>cite</dt><dd>匹配</dd>
<dt>code</dt><dd>匹配</dd>
<dt>col</dt><dd>匹配</dd>
<dt>colgroup</dt><dd>匹配</dd>
<dt>command</dt><dd>匹配</dd>
<dt>datalist</dt><dd>匹配</dd>
<dt>dd</dt><dd>匹配</dd>
<dt>del</dt><dd>匹配</dd>
<dt>details</dt><dd>匹配</dd>
<dt>dfn</dt><dd>匹配</dd>
<dt>div</dt><dd>匹配</dd>
<dt>dl</dt><dd>匹配</dd>
<dt>dt</dt><dd>匹配</dd>
<dt>em</dt><dd>匹配</dd>
<dt>embed</dt><dd>匹配</dd>
<dt>fieldset</dt><dd>匹配</dd>
<dt>figcaption</dt><dd>匹配</dd>
<dt>figure</dt><dd>匹配</dd>
<dt>footer</dt><dd>匹配</dd>
<dt>form</dt><dd>匹配</dd>
<dt>h1</dt><dd>匹配</dd>
<dt>h2</dt><dd>匹配</dd>
<dt>h3</dt><dd>匹配</dd>
<dt>h4</dt><dd>匹配</dd>
<dt>h5</dt><dd>匹配</dd>
<dt>h6</dt><dd>匹配</dd>
<dt>head</dt><dd>匹配</dd>
<dt>header</dt><dd>匹配</dd>
<dt>hgroup</dt><dd>匹配</dd>
<dt>hr</dt><dd>匹配</dd>
<dt>html</dt><dd>匹配</dd>
<dt>i</dt><dd>匹配</dd>
<dt>iframe</dt><dd>匹配</dd>
<dt>img</dt><dd>匹配</dd>
<dt>input</dt><dd>匹配</dd>
<dt>ins</dt><dd>匹配</dd>
<dt>kbd</dt><dd>匹配</dd>
<dt>keygen</dt><dd>匹配</dd>
<dt>label</dt><dd>匹配</dd>
<dt>legend</dt><dd>匹配</dd>
<dt>li</dt><dd>匹配</dd>
<dt>link</dt><dd>匹配</dd>
<dt>map</dt><dd>匹配</dd>
<dt>mark</dt><dd>匹配</dd>
<dt>menu</dt><dd>匹配</dd>
<dt>meta</dt><dd>匹配</dd>
<dt>meter</dt><dd>匹配</dd>
<dt>nav</dt><dd>匹配</dd>
<dt>noscript</dt><dd>匹配</dd>
<dt>object</dt><dd>匹配</dd>
<dt>ol</dt><dd>匹配</dd>
<dt>optgroup</dt><dd>匹配</dd>
<dt>option</dt><dd>匹配</dd>
<dt>output</dt><dd>匹配</dd>
<dt>p</dt><dd>匹配</dd>
<dt>param</dt><dd>匹配</dd>
<dt>pre</dt><dd>匹配</dd>
<dt>progress</dt><dd>匹配</dd>
<dt>q</dt><dd>匹配</dd>
<dt>rp</dt><dd>匹配</dd>
<dt>rt</dt><dd>匹配</dd>
<dt>ruby</dt><dd>匹配</dd>
<dt>s</dt><dd>匹配</dd>
<dt>samp</dt><dd>匹配</dd>
<dt>script</dt><dd>匹配</dd>
<dt>section</dt><dd>匹配</dd>
<dt>select</dt><dd>匹配</dd>
<dt>small</dt><dd>匹配</dd>
<dt>source</dt><dd>匹配</dd>
<dt>span</dt><dd>匹配</dd>
<dt>strong</dt><dd>匹配</dd>
<dt>style</dt><dd>匹配</dd>
<dt>sub</dt><dd>匹配</dd>
<dt>summary</dt><dd>匹配</dd>
<dt>sup</dt><dd>匹配</dd>
<dt>table</dt><dd>匹配</dd>
<dt>tbody</dt><dd>匹配</dd>
<dt>td</dt><dd>匹配</dd>
<dt>textarea</dt><dd>匹配</dd>
<dt>tfoot</dt><dd>匹配</dd>
<dt>th</dt><dd>匹配</dd>
<dt>thead</dt><dd>匹配</dd>
<dt>time</dt><dd>匹配</dd>
<dt>title</dt><dd>匹配</dd>
<dt>tr</dt><dd>匹配</dd>
<dt>track</dt><dd>匹配</dd>
<dt>u</dt><dd>匹配</dd>
<dt>ul</dt><dd>匹配</dd>
<dt>var</dt><dd>匹配</dd>
<dt>video</dt><dd>匹配</dd>
<dt>wbr</dt><dd>匹配</dd>
<dt>ab</dt><dd>不匹配</dd>
<dt>acronym</dt><dd>不匹配</dd>
<dt>applet</dt><dd>不匹配</dd>
<dt>az</dt><dd>不匹配</dd>
<dt>ba</dt><dd>不匹配</dd>
<dt>basefont</dt><dd>不匹配</dd>
<dt>big</dt><dd>不匹配</dd>
<dt>c</dt><dd>不匹配</dd>
<dt>center</dt><dd>不匹配</dd>
<dt>d</dt><dd>不匹配</dd>
<dt>dad</dt><dd>不匹配</dd>
<dt>dir</dt><dd>不匹配</dd>
<dt>e</dt><dd>不匹配</dd>
<dt>eb</dt><dd>不匹配</dd>
<dt>f</dt><dd>不匹配</dd>
<dt>font</dt><dd>不匹配</dd>
<dt>frame</dt><dd>不匹配</dd>
<dt>frameset</dt><dd>不匹配</dd>
<dt>g</dt><dd>不匹配</dd>
<dt>ga</dt><dd>不匹配</dd>
<dt>gurtrood</dt><dd>不匹配</dd>
<dt>h</dt><dd>不匹配</dd>
<dt>h0</dt><dd>不匹配</dd>
<dt>h7</dt><dd>不匹配</dd>
<dt>h10</dt><dd>不匹配</dd>
<dt>in</dt><dd>不匹配</dd>
<dt>j</dt><dd>不匹配</dd>
<dt>jam</dt><dd>不匹配</dd>
<dt>k</dt><dd>不匹配</dd>
<dt>key</dt><dd>不匹配</dd>
<dt>l</dt><dd>不匹配</dd>
<dt>la</dt><dd>不匹配</dd>
<dt>m</dt><dd>不匹配</dd>
<dt>man</dt><dd>不匹配</dd>
<dt>n</dt><dd>不匹配</dd>
<dt>o</dt><dd>不匹配</dd>
<dt>old</dt><dd>不匹配</dd>
<dt>put</dt><dd>不匹配</dd>
<dt>queen</dt><dd>不匹配</dd>
<dt>r</dt><dd>不匹配</dd>
<dt>rn</dt><dd>不匹配</dd>
<dt>slower</dt><dd>不匹配</dd>
<dt>strike</dt><dd>不匹配</dd>
<dt>t</dt><dd>不匹配</dd>
<dt>tab</dt><dd>不匹配</dd>
<dt>tf</dt><dd>不匹配</dd>
<dt>tt</dt><dd>不匹配</dd>
<dt>un</dt><dd>不匹配</dd>
<dt>v</dt><dd>不匹配</dd>
<dt>vw</dt><dd>不匹配</dd>
<dt>vehicle</dt><dd>不匹配</dd>
<dt>w</dt><dd>不匹配</dd>
<dt>weird</dt><dd>不匹配</dd>
<dt>x</dt><dd>不匹配</dd>
<dt>xx</dt><dd>不匹配</dd>
<dt>y</dt><dd>不匹配</dd>
<dt>yahooa</dt><dd>不匹配</dd>
<dt>z</dt><dd>不匹配</dd>
<dt>zebra</dt><dd>不匹配</dd>
<dt>zebras</dt><dd>不匹配</dd>
</dl>
<div id="congratulations">
恭喜,你的正则通过了所有测试用例,记住要分享这个挑战哦。
</div>
</section>
<script src="assets/challenge.js"></script>
</body>
</html>