[Jslib] another dev tool: RegExp

dwx danielwang5168@aol.com
Tue, 02 Jul 2002 13:55:34 -0700


This is a multi-part message in MIME format.
--------------080706090200010904040405
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

a simple interface for evaluating up-to-five input strings against
a RegExp pattern.

--------------080706090200010904040405
Content-Type: application/x-javascript;
 name="regex.js"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="regex.js"

var initialized;
var re;

function evaluate(n) {
    s = '';
    output = re.exec( document.getElementById('input'+n).value );
    try {
        for (var i=0; i<output.length; i++) {
            if (i>0) s += '\n';
            s += output[i];
        }
    } catch(e) { s = 'no match!' }
    document.getElementById('output'+n).value = s;
}

function evaluateCurrent() {
   i = document.getElementById('tabs').selectedIndex + 1;
   if (i != 6) {
      re = new RegExp(document.getElementById('pattern').value);
      evaluate(i);
   }
}

function evaluateAll() {
   re = new RegExp(document.getElementById('pattern').value);
   for (i=1;i<6;i++) evaluate(i);
}

function init() {
   if (!initialized) {
     document.getElementById('input1').value = 'http://nowhere/hello/world.html';
     document.getElementById('input2').value = 'http://jimmy.200.300@www.domain.com:12/hello/world.html';
     document.getElementById('input3').value = 'http://www.domain.com:12/hello/world.html';
     document.getElementById('input4').value = 'http://www.domain.com/hello/world.html';
     document.getElementById('input5').value = 'http://www.domain.com/hell@wolrd.html';
     document.getElementById('scratch').value = unescape('%28%5Cw+%29%3A%5C/*%28%5B%5Cw%5Cd%5C%5C.%5D+%40%29%3F%28%5B%5Cw%5Cd%5C%5C.%5D+%29%5C/%3F%28%5B%5Cw%5CW%5D+%29%0A%28%5Cw+%29%3A%5C/*%28%3F%3A%28%5B%5Cw%5Cd%5C%5C.%5D+%29%40%29%3F%28%5B%5Cw%5Cd%5C%5C.%5D+%29%5C/%3F%28%5B%5Cw%5CW%5D+%29%0A%28%5Cw+%29%3A%5C/%5C/*%28%3F%3A%28%5B%5Cw%5Cd%5C%5C.%5D+%29%40%29%3F%28%5B%5Cw%5Cd%5C%5C.%5D+%29%28%3F%3A%5C%3A%28%5Cd+%29%29%3F%5C/%3F%28%5B%5Cw%5CW%5D+%29%0A%28%5Cw+%29%3A%5C/%5C/*%28%3F%3A%28%5B%5Cw%5Cd%5C%5C.%5D+%29%40%29%3F%28%5B%5Cw%5Cd%5D+%5C.%5B%5Cw%5Cd%5C%5C.%5D+%29%28%3F%3A%5C%3A%28%5Cd+%29%29%3F%5C/%3F%28%5B%5Cw%5CW%5D+%29%0A%28%5Cw+%29%3A%5C/%5C/*%0A%28%3F%3A%0A%20%20%28%5B%5Cw%5Cd%5C%5C.%5D+%29%40%0A%29%3F%0A%28%5B%5Cw%5Cd%5D+%5C.%5B%5Cw%5Cd%5C%5C.%5D+%29%0A%28%3F%3A%0A%20%20%5C%3A%28%5Cd+%29%0A%29%3F%0A%5C/%3F%28%5B%5Cw%5CW%5D+%29%0A');
     document.getElementById('pattern').value = unescape('%28%5Cw+%29%3A%5C/%5C/*%28%3F%3A%28%5B%5Cw%5Cd%5C%5C.%5D+%29%40%29%3F%28%5B%5Cw%5Cd%5D+%5C.%5B%5Cw%5Cd%5C%5C.%5D+%29%28%3F%3A%5C%3A%28%5Cd+%29%29%3F%5C/%3F%28%5B%5Cw%5CW%5D+%29');
     initialized = true;
   }
}
--------------080706090200010904040405
Content-Type: application/vnd.mozilla.xul+xml;
 name="regex.xul"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="regex.xul"

PD94bWwgdmVyc2lvbj0iMS4wIj8+DQo8IS0tICoqKioqIEJFR0lOIExJQ0VOU0UgQkxPQ0sg
KioqKioNCiAgIC0gVmVyc2lvbjogTVBMIDEuMS9HUEwgMi4wL0xHUEwgMi4xDQogICAtDQog
ICAtIFRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGUgYXJlIHN1YmplY3QgdG8gdGhlIE1vemls
bGEgUHVibGljIExpY2Vuc2UgVmVyc2lvbg0KICAgLSAxLjEgKHRoZSAiTGljZW5zZSIpOyB5
b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGgNCiAg
IC0gdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBh
dA0KICAgLSBodHRwOi8vd3d3Lm1vemlsbGEub3JnL01QTC8NCiAgIC0NCiAgIC0gU29mdHdh
cmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4g
IkFTIElTIiBiYXNpcywNCiAgIC0gV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgZWl0
aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlDQogICAtIGZvciB0aGUg
c3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHJpZ2h0cyBhbmQgbGltaXRhdGlvbnMgdW5k
ZXIgdGhlDQogICAtIExpY2Vuc2UuDQogICAtDQogICAtIFRoZSBJbml0aWFsIERldmVsb3Bl
ciBvZiB0aGUgT3JpZ2luYWwgQ29kZSBpcyBEYW5pZWwgV2FuZw0KICAgLSBQb3J0aW9ucyBj
cmVhdGVkIGJ5IHRoZSBJbml0aWFsIERldmVsb3BlciBhcmUgQ29weXJpZ2h0IChDKSAyMDAx
LTIwMDINCiAgIC0gdGhlIEluaXRpYWwgRGV2ZWxvcGVyLiBBbGwgUmlnaHRzIFJlc2VydmVk
Lg0KICAgLQ0KICAgLSBDb250cmlidXRvcihzKToNCiAgIC0gIERhbmllbCBXYW5nIDxkYW5p
ZWx3YW5nNTE2OEBhb2wuY29tPg0KICAgLQ0KICAgLSBBbHRlcm5hdGl2ZWx5LCB0aGUgY29u
dGVudHMgb2YgdGhpcyBmaWxlIG1heSBiZSB1c2VkIHVuZGVyIHRoZSB0ZXJtcyBvZg0KICAg
LSBlaXRoZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMiBvciBs
YXRlciAodGhlICJHUEwiKSwgb3INCiAgIC0gdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBWZXJzaW9uIDIuMSBvciBsYXRlciAodGhlICJMR1BMIiksDQogICAtIGlu
IHdoaWNoIGNhc2UgdGhlIHByb3Zpc2lvbnMgb2YgdGhlIEdQTCBvciB0aGUgTEdQTCBhcmUg
YXBwbGljYWJsZSBpbnN0ZWFkDQogICAtIG9mIHRob3NlIGFib3ZlLiBJZiB5b3Ugd2lzaCB0
byBhbGxvdyB1c2Ugb2YgeW91ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSBvbmx5DQogICAtIHVu
ZGVyIHRoZSB0ZXJtcyBvZiBlaXRoZXIgdGhlIEdQTCBvciB0aGUgTEdQTCwgYW5kIG5vdCB0
byBhbGxvdyBvdGhlcnMgdG8NCiAgIC0gdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNUEwsIGluZGljYXRlIHlvdXINCiAgIC0gZGVjaXNp
b24gYnkgZGVsZXRpbmcgdGhlIHByb3Zpc2lvbnMgYWJvdmUgYW5kIHJlcGxhY2UgdGhlbSB3
aXRoIHRoZSBub3RpY2UNCiAgIC0gYW5kIG90aGVyIHByb3Zpc2lvbnMgcmVxdWlyZWQgYnkg
dGhlIExHUEwgb3IgdGhlIEdQTC4gSWYgeW91IGRvIG5vdCBkZWxldGUNCiAgIC0gdGhlIHBy
b3Zpc2lvbnMgYWJvdmUsIGEgcmVjaXBpZW50IG1heSB1c2UgeW91ciB2ZXJzaW9uIG9mIHRo
aXMgZmlsZSB1bmRlcg0KICAgLSB0aGUgdGVybXMgb2YgYW55IG9uZSBvZiB0aGUgTVBMLCB0
aGUgR1BMIG9yIHRoZSBMR1BMLg0KICAgLQ0KICAgLSAqKioqKiBFTkQgTElDRU5TRSBCTE9D
SyAqKioqKiAtLT4NCg0KPD94bWwtc3R5bGVzaGVldCBocmVmPSJjaHJvbWU6Ly9nbG9iYWwv
c2tpbi8iIHR5cGU9InRleHQvY3NzIj8+DQoNCjx3aW5kb3cNCglpZD0id2luZG93Ig0KCXRp
dGxlPSJSZWd1bGFyIEV4cHJlc3Npb24gRXhwcmVzcyINCglvcmllbnQ9InZlcnRpY2FsIg0K
CXhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiDQoJeG1sbnM9Imh0
dHA6Ly93d3cubW96aWxsYS5vcmcva2V5bWFzdGVyL2dhdGVrZWVwZXIvdGhlcmUuaXMub25s
eS54dWwiDQogICAgICAgIG9ubG9hZD0iaW5pdCgpOyI+DQoNCiAgPHNjcmlwdCB0eXBlPSJh
cHBsaWNhdGlvbi94LWphdmFzY3JpcHQiIHNyYz0icmVnZXguanMiLz4NCg0KICA8dmJveCBm
bGV4PSIyIj4NCiAgICAgPGhib3g+DQogICAgICAgIDxidXR0b24gYWNjZXNza2V5PSJ0IiBs
YWJlbD0iZXZhbHVhdGUgY3VycmVudCB0YWIiIG9uY29tbWFuZD0iZXZhbHVhdGVDdXJyZW50
KCkiLz4NCiAgICAgICAgPGJ1dHRvbiBhY2Nlc3NrZXk9ImEiIGxhYmVsPSJldmFsdWF0ZSBh
bGwgdGFicyIgb25jb21tYW5kPSJldmFsdWF0ZUFsbCgpIi8+DQogICAgIDwvaGJveD4NCiAg
ICAgPGRlc2NyaXB0aW9uIHZhbHVlPSJwYXR0ZXJuIi8+DQogICAgIDx0ZXh0Ym94IGlkPSJw
YXR0ZXJuIiBtdWx0aWxpbmU9InRydWUiIHN0eWxlPSJoZWlnaHQ6MTBlbTsiIGFsaWduPSJz
dHJldGNoIiB0eXBlPSJ0ZXh0Ii8+DQogIDwvdmJveD4NCg0KICA8dGFiYm94IGZsZXg9IjEi
Pg0KICAgIDx0YWJzIGlkPSJ0YWJzIj4NCiAgICAgICA8dGFiIGxhYmVsPSIgdGVzdCAxICIg
YWNjZXNza2V5PSIxIi8+IDx0YWIgbGFiZWw9IiB0ZXN0IDIgIiBhY2Nlc3NrZXk9IjIiLz4g
PHRhYiBsYWJlbD0iIHRlc3QgMyAiIGFjY2Vzc2tleT0iMyIvPg0KICAgICAgIDx0YWIgbGFi
ZWw9IiB0ZXN0IDQgIiBhY2Nlc3NrZXk9IjQiLz4gPHRhYiBsYWJlbD0iIHRlc3QgNSAiIGFj
Y2Vzc2tleT0iNSIvPiA8dGFiIGxhYmVsPSJzY3JhdGNoIiBhY2Nlc3NrZXk9InMiLz4NCiAg
ICA8L3RhYnM+DQogICAgPHRhYnBhbmVscz4NCiAgICAgIDx0YWJwYW5lbCBvcmllbnQ9InZl
cnRpY2FsIj4NCiAgICAgICAgICAgPGRlc2NyaXB0aW9uIHZhbHVlPSJpbnB1dCIvPg0KICAg
ICAgICAgICA8dGV4dGJveCBtdWx0aWxpbmU9InRydWUiIGlkPSJpbnB1dDEiLz4NCiAgICAg
ICAgICAgPHNwbGl0dGVyIGNvbGxhcHNlPSJub25lIiByZXNpemVhZnRlcj0iZmFydGhlc3Qi
Lz4NCiAgICAgICAgICAgPGRlc2NyaXB0aW9uIHZhbHVlPSJvdXRwdXQiLz4NCiAgICAgICAg
ICAgPHRleHRib3ggbXVsdGlsaW5lPSJ0cnVlIiBpZD0ib3V0cHV0MSIgc3R5bGU9ImhlaWdo
dDo4ZW07Ii8+DQogICAgICA8L3RhYnBhbmVsPg0KICAgICAgPHRhYnBhbmVsIG9yaWVudD0i
dmVydGljYWwiPg0KICAgICAgICAgICA8ZGVzY3JpcHRpb24gdmFsdWU9ImlucHV0Ii8+DQog
ICAgICAgICAgIDx0ZXh0Ym94IG11bHRpbGluZT0idHJ1ZSIgaWQ9ImlucHV0MiIvPg0KICAg
ICAgICAgICA8c3BsaXR0ZXIgY29sbGFwc2U9Im5vbmUiIHJlc2l6ZWFmdGVyPSJmYXJ0aGVz
dCIvPg0KICAgICAgICAgICA8ZGVzY3JpcHRpb24gdmFsdWU9Im91dHB1dCIvPg0KICAgICAg
ICAgICA8dGV4dGJveCBtdWx0aWxpbmU9InRydWUiIGlkPSJvdXRwdXQyIiBzdHlsZT0iaGVp
Z2h0OjhlbTsiLz4NCiAgICAgIDwvdGFicGFuZWw+DQogICAgICA8dGFicGFuZWwgb3JpZW50
PSJ2ZXJ0aWNhbCI+DQogICAgICAgICAgIDxkZXNjcmlwdGlvbiB2YWx1ZT0iaW5wdXQiLz4N
CiAgICAgICAgICAgPHRleHRib3ggbXVsdGlsaW5lPSJ0cnVlIiBpZD0iaW5wdXQzIi8+DQog
ICAgICAgICAgIDxzcGxpdHRlciBjb2xsYXBzZT0ibm9uZSIgcmVzaXplYWZ0ZXI9ImZhcnRo
ZXN0Ii8+DQogICAgICAgICAgIDxkZXNjcmlwdGlvbiB2YWx1ZT0ib3V0cHV0Ii8+DQogICAg
ICAgICAgIDx0ZXh0Ym94IG11bHRpbGluZT0idHJ1ZSIgaWQ9Im91dHB1dDMiIHN0eWxlPSJo
ZWlnaHQ6OGVtOyIvPg0KICAgICAgPC90YWJwYW5lbD4NCiAgICAgIDx0YWJwYW5lbCBvcmll
bnQ9InZlcnRpY2FsIj4NCiAgICAgICAgICAgPGRlc2NyaXB0aW9uIHZhbHVlPSJpbnB1dCIv
Pg0KICAgICAgICAgICA8dGV4dGJveCBtdWx0aWxpbmU9InRydWUiIGlkPSJpbnB1dDQiLz4N
CiAgICAgICAgICAgPHNwbGl0dGVyIGNvbGxhcHNlPSJub25lIiByZXNpemVhZnRlcj0iZmFy
dGhlc3QiLz4NCiAgICAgICAgICAgPGRlc2NyaXB0aW9uIHZhbHVlPSJvdXRwdXQiLz4NCiAg
ICAgICAgICAgPHRleHRib3ggbXVsdGlsaW5lPSJ0cnVlIiBpZD0ib3V0cHV0NCIgc3R5bGU9
ImhlaWdodDo4ZW07Ii8+DQogICAgICA8L3RhYnBhbmVsPg0KICAgICAgPHRhYnBhbmVsIG9y
aWVudD0idmVydGljYWwiPg0KICAgICAgICAgICA8ZGVzY3JpcHRpb24gdmFsdWU9ImlucHV0
Ii8+DQogICAgICAgICAgIDx0ZXh0Ym94IG11bHRpbGluZT0idHJ1ZSIgaWQ9ImlucHV0NSIv
Pg0KICAgICAgICAgICA8c3BsaXR0ZXIgY29sbGFwc2U9Im5vbmUiIHJlc2l6ZWFmdGVyPSJm
YXJ0aGVzdCIvPg0KICAgICAgICAgICA8ZGVzY3JpcHRpb24gdmFsdWU9Im91dHB1dCIvPg0K
ICAgICAgICAgICA8dGV4dGJveCBtdWx0aWxpbmU9InRydWUiIGlkPSJvdXRwdXQ1IiBzdHls
ZT0iaGVpZ2h0OjhlbTsiLz4NCiAgICAgIDwvdGFicGFuZWw+DQogICAgICA8dGFicGFuZWwg
b3JpZW50PSJ2ZXJ0aWNhbCI+DQogICAgICAgICAgIDx0ZXh0Ym94IG11bHRpbGluZT0idHJ1
ZSIgaWQ9InNjcmF0Y2giIHN0eWxlPSJoZWlnaHQ6MTVlbTsiLz4NCiAgICAgIDwvdGFicGFu
ZWw+DQogICAgPC90YWJwYW5lbHM+DQogIDwvdGFiYm94Pg0KDQogIDxoYm94IHBhY2s9ImVu
ZCI+DQogICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nIiBsYWJlbD0iZHVtbXkiIG9uY29tbWFu
ZD0iIi8+DQogIDwvaGJveD4NCjwvd2luZG93Pg==
--------------080706090200010904040405--