[TxMt] a regexp test script (link)
David Lee
david at davelee.com.au
Sun Apr 3 13:37:54 UTC 2005
Hi all
I've written a short ruby script for the purposes of checking regular
expressions within TextMate.
http://dml.homedns.org/rx_helper.rb
It expects to be fed a regular expression on a line of its own,
followed by any number of lines to test against. The RX can be either a
straight match (eg ^([a-z]+):([0-9]+ ) or a substitution (eg,
/old/new/). Cuddling /slashes/ are only required for
/pattern/replacement/ expressions.
If you create the following action in TextMate:
echo "$TM_SELECTED_TEXT" | /path_to_script/rx_helper.rb
with input='selected text' & output='show as tooltip', you can open a
new window, write a regexp, write some test cases for your regexp, then
select-all and see the results in a tooltip whenever you need it (I
have it bound to ctrl-alt-option-X).
I hope someone finds it useful. If you find any bugs / have any
suggestions on how to improve it, please do let me know.
cheers
D
P.S here's some sample input and output:
------------------------------------
IN (TextMate scratch file)
==
(http|https|ftp):\/\/(([-_a-zA-Z1-9]+)\.)+([-_a-zA-Z1-9]{2,3})
http://www.google.com
https://www.netbank.com.au
ftp://mafia.ru
www.clickstart.com
boozehound
gary sweeney
http://www.amazon.com/
http://www.amazon.com/exec/obidos/subst/home/home.html/002-0270779
-6984007
~
OUT (tooltip)
==
(http|https|ftp):\/\/(([-_a-zA-Z1-9]+)\.)+([-_a-zA-Z1-9]{2,3})
Successful Matches:
===================
http://www.google.com : matched expression
match number [1] : http
match number [2] : google.
match number [3] : google
match number [4] : com
https://www.netbank.com.au : matched expression
match number [1] : https
match number [2] : com.
match number [3] : com
match number [4] : au
ftp://mafia.ru : matched expression
match number [1] : ftp
match number [2] : mafia.
match number [3] : mafia
match number [4] : ru
http://www.amazon.com/ : matched expression
match number [1] : http
match number [2] : amazon.
match number [3] : amazon
match number [4] : com
http://www.amazon.com/exec/obidos/subst/home/home.html/002-0270779
-6984007 : matched expression
match number [1] : http
match number [2] : amazon.
match number [3] : amazon
match number [4] : com
Failed Matches:
===============
www.clickstart.com : failed
boozehound : failed
gary sweeney : failed
More information about the textmate
mailing list