[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: horsing around with regex
as a sanity check i started playing around with regex to see what would be involved with basic matching (our matching needs are far simpler than the general case because it is highly likely that the policy author will have some idea of what is being protected ;o) attached is a file with a decent sample of URLs being compared (drawn from the concerns i heard on the call and on the list). the first case is very simple and hits on all of the URLs tested (so that the reader can see what the sample consisted of). please note that this experiment was tested against full regular expression URL matching, NOT the current proposal on the list. i just wanted to see what it would take to ONLY use regex. enjoy. b
Regular Expression: ^[hH][tT][tT][pP]:\/\/ String Matches http:// http://foo.com http://foo.com/ http://foo.com/bar http://foo.com/bar/oink.html http://foo.com/bar1/oink.html http://foo.com:7004 http://foo.com:7008 http://foo.com:7004/ http://foo.com:7008/ http://foo.com:7004/bar http://foo.com:7008/bar http://foo.com:7004/bar/ http://foo.com:7008/bar/ http://foo.com:7004/bar/oink.html http://foo.com:7008/bar/oink.html http://foo.com:7004/bar1/oink.html http://foo.com:7008/bar1/oink.html http://foo.com:7004/bar2/oink.html http://foo.com:7008/bar2/oink.html http://FoO.com http://FoO.com/ http://FoO.com/bar http://FoO.com/bar/oink.html http://FoO.com/bar1/oink.html http://FoO.com:7004 http://FoO.com:7008 http://FoO.com:7004/ http://FoO.com:7008/ http://FoO.com:7004/bar http://FoO.com:7008/bar http://FoO.com:7004/bar/ http://FoO.com:7008/bar/ http://FoO.com:7004/bar/oink.html http://FoO.com:7008/bar/oink.html http://FoO.com:7004/bar1/oink.html http://FoO.com:7008/bar1/oink.html http://FoO.com:7004/bar2/oink.html http://FoO.com:7008/bar2/oink.html hTtP:// hTtP://FoO.com hTtP://FoO.com/ hTtP://FoO.com/bar hTtP://FoO.com/bar/oink.html hTtP://FoO.com/bar1/oink.html hTtP://FoO.com:7004 hTtP://FoO.com:7008 hTtP://FoO.com:7004/ hTtP://FoO.com:7008/ hTtP://FoO.com:7004/bar hTtP://FoO.com:7008/bar hTtP://FoO.com:7004/bar/ hTtP://FoO.com:7008/bar/ hTtP://FoO.com:7004/bar/oink.html hTtP://FoO.com:7008/bar/oink.html hTtP://FoO.com:7004/bar1/oink.html hTtP://FoO.com:7008/bar1/oink.html hTtP://FoO.com:7004/bar2/oink.html hTtP://FoO.com:7008/bar2/oink.html hTtP://FoO.com:7004/bAr hTtP://FoO.com:7008/bAr hTtP://FoO.com:7004/bAr/ hTtP://FoO.com:7008/bAr/ hTtP://FoO.com:7004/bAr/oink.html hTtP://FoO.com:7008/bAr/oink.html hTtP://FoO.com:7004/bAr1/oink.html hTtP://FoO.com:7008/bAr1/oink.html hTtP://FoO.com:7004/bAr2/oink.html hTtP://FoO.com:7008/bAr2/oink.html String Misses (none) =================== Regular Expression: ^[hH][tT][tT][pP]:\/\/[fF][oO][oO]\.[cC][oO][mM] String Matches http://foo.com http://foo.com/ http://foo.com/bar http://foo.com/bar/oink.html http://foo.com/bar1/oink.html http://foo.com:7004 http://foo.com:7008 http://foo.com:7004/ http://foo.com:7008/ http://foo.com:7004/bar http://foo.com:7008/bar http://foo.com:7004/bar/ http://foo.com:7008/bar/ http://foo.com:7004/bar/oink.html http://foo.com:7008/bar/oink.html http://foo.com:7004/bar1/oink.html http://foo.com:7008/bar1/oink.html http://foo.com:7004/bar2/oink.html http://foo.com:7008/bar2/oink.html http://FoO.com http://FoO.com/ http://FoO.com/bar http://FoO.com/bar/oink.html http://FoO.com/bar1/oink.html http://FoO.com:7004 http://FoO.com:7008 http://FoO.com:7004/ http://FoO.com:7008/ http://FoO.com:7004/bar http://FoO.com:7008/bar http://FoO.com:7004/bar/ http://FoO.com:7008/bar/ http://FoO.com:7004/bar/oink.html http://FoO.com:7008/bar/oink.html http://FoO.com:7004/bar1/oink.html http://FoO.com:7008/bar1/oink.html http://FoO.com:7004/bar2/oink.html http://FoO.com:7008/bar2/oink.html hTtP://FoO.com hTtP://FoO.com/ hTtP://FoO.com/bar hTtP://FoO.com/bar/oink.html hTtP://FoO.com/bar1/oink.html hTtP://FoO.com:7004 hTtP://FoO.com:7008 hTtP://FoO.com:7004/ hTtP://FoO.com:7008/ hTtP://FoO.com:7004/bar hTtP://FoO.com:7008/bar hTtP://FoO.com:7004/bar/ hTtP://FoO.com:7008/bar/ hTtP://FoO.com:7004/bar/oink.html hTtP://FoO.com:7008/bar/oink.html hTtP://FoO.com:7004/bar1/oink.html hTtP://FoO.com:7008/bar1/oink.html hTtP://FoO.com:7004/bar2/oink.html hTtP://FoO.com:7008/bar2/oink.html hTtP://FoO.com:7004/bAr hTtP://FoO.com:7008/bAr hTtP://FoO.com:7004/bAr/ hTtP://FoO.com:7008/bAr/ hTtP://FoO.com:7004/bAr/oink.html hTtP://FoO.com:7008/bAr/oink.html hTtP://FoO.com:7004/bAr1/oink.html hTtP://FoO.com:7008/bAr1/oink.html hTtP://FoO.com:7004/bAr2/oink.html hTtP://FoO.com:7008/bAr2/oink.html String Misses http:// hTtP:// =================== Regular Expression: ^[hH][tT][tT][pP]:\/\/[fF][oO][oO]\.[cC][oO][mM] String Matches http://foo.com http://foo.com/ http://foo.com/bar http://foo.com/bar/oink.html http://foo.com/bar1/oink.html http://foo.com:7004 http://foo.com:7008 http://foo.com:7004/ http://foo.com:7008/ http://foo.com:7004/bar http://foo.com:7008/bar http://foo.com:7004/bar/ http://foo.com:7008/bar/ http://foo.com:7004/bar/oink.html http://foo.com:7008/bar/oink.html http://foo.com:7004/bar1/oink.html http://foo.com:7008/bar1/oink.html http://foo.com:7004/bar2/oink.html http://foo.com:7008/bar2/oink.html http://FoO.com http://FoO.com/ http://FoO.com/bar http://FoO.com/bar/oink.html http://FoO.com/bar1/oink.html http://FoO.com:7004 http://FoO.com:7008 http://FoO.com:7004/ http://FoO.com:7008/ http://FoO.com:7004/bar http://FoO.com:7008/bar http://FoO.com:7004/bar/ http://FoO.com:7008/bar/ http://FoO.com:7004/bar/oink.html http://FoO.com:7008/bar/oink.html http://FoO.com:7004/bar1/oink.html http://FoO.com:7008/bar1/oink.html http://FoO.com:7004/bar2/oink.html http://FoO.com:7008/bar2/oink.html hTtP://FoO.com hTtP://FoO.com/ hTtP://FoO.com/bar hTtP://FoO.com/bar/oink.html hTtP://FoO.com/bar1/oink.html hTtP://FoO.com:7004 hTtP://FoO.com:7008 hTtP://FoO.com:7004/ hTtP://FoO.com:7008/ hTtP://FoO.com:7004/bar hTtP://FoO.com:7008/bar hTtP://FoO.com:7004/bar/ hTtP://FoO.com:7008/bar/ hTtP://FoO.com:7004/bar/oink.html hTtP://FoO.com:7008/bar/oink.html hTtP://FoO.com:7004/bar1/oink.html hTtP://FoO.com:7008/bar1/oink.html hTtP://FoO.com:7004/bar2/oink.html hTtP://FoO.com:7008/bar2/oink.html hTtP://FoO.com:7004/bAr hTtP://FoO.com:7008/bAr hTtP://FoO.com:7004/bAr/ hTtP://FoO.com:7008/bAr/ hTtP://FoO.com:7004/bAr/oink.html hTtP://FoO.com:7008/bAr/oink.html hTtP://FoO.com:7004/bAr1/oink.html hTtP://FoO.com:7008/bAr1/oink.html hTtP://FoO.com:7004/bAr2/oink.html hTtP://FoO.com:7008/bAr2/oink.html String Misses http:// hTtP:// =================== Regular Expression: ^[hH][tT][tT][pP]:\/\/[fF][oO][oO]\.[cC][oO][mM]\/bar String Matches http://foo.com/bar http://foo.com/bar/oink.html http://foo.com/bar1/oink.html http://FoO.com/bar http://FoO.com/bar/oink.html http://FoO.com/bar1/oink.html hTtP://FoO.com/bar hTtP://FoO.com/bar/oink.html hTtP://FoO.com/bar1/oink.html String Misses http:// http://foo.com http://foo.com/ http://foo.com:7004 http://foo.com:7008 http://foo.com:7004/ http://foo.com:7008/ http://foo.com:7004/bar http://foo.com:7008/bar http://foo.com:7004/bar/ http://foo.com:7008/bar/ http://foo.com:7004/bar/oink.html http://foo.com:7008/bar/oink.html http://foo.com:7004/bar1/oink.html http://foo.com:7008/bar1/oink.html http://foo.com:7004/bar2/oink.html http://foo.com:7008/bar2/oink.html http://FoO.com http://FoO.com/ http://FoO.com:7004 http://FoO.com:7008 http://FoO.com:7004/ http://FoO.com:7008/ http://FoO.com:7004/bar http://FoO.com:7008/bar http://FoO.com:7004/bar/ http://FoO.com:7008/bar/ http://FoO.com:7004/bar/oink.html http://FoO.com:7008/bar/oink.html http://FoO.com:7004/bar1/oink.html http://FoO.com:7008/bar1/oink.html http://FoO.com:7004/bar2/oink.html http://FoO.com:7008/bar2/oink.html hTtP:// hTtP://FoO.com hTtP://FoO.com/ hTtP://FoO.com:7004 hTtP://FoO.com:7008 hTtP://FoO.com:7004/ hTtP://FoO.com:7008/ hTtP://FoO.com:7004/bar hTtP://FoO.com:7008/bar hTtP://FoO.com:7004/bar/ hTtP://FoO.com:7008/bar/ hTtP://FoO.com:7004/bar/oink.html hTtP://FoO.com:7008/bar/oink.html hTtP://FoO.com:7004/bar1/oink.html hTtP://FoO.com:7008/bar1/oink.html hTtP://FoO.com:7004/bar2/oink.html hTtP://FoO.com:7008/bar2/oink.html hTtP://FoO.com:7004/bAr hTtP://FoO.com:7008/bAr hTtP://FoO.com:7004/bAr/ hTtP://FoO.com:7008/bAr/ hTtP://FoO.com:7004/bAr/oink.html hTtP://FoO.com:7008/bAr/oink.html hTtP://FoO.com:7004/bAr1/oink.html hTtP://FoO.com:7008/bAr1/oink.html hTtP://FoO.com:7004/bAr2/oink.html hTtP://FoO.com:7008/bAr2/oink.html =================== Regular Expression: ^[hH][tT][tT][pP]:\/\/[fF][oO][oO]\.[cC][oO][mM]:700[3-6]\/bar String Matches http://foo.com:7004/bar http://foo.com:7004/bar/ http://foo.com:7004/bar/oink.html http://foo.com:7004/bar1/oink.html http://foo.com:7004/bar2/oink.html http://FoO.com:7004/bar http://FoO.com:7004/bar/ http://FoO.com:7004/bar/oink.html http://FoO.com:7004/bar1/oink.html http://FoO.com:7004/bar2/oink.html hTtP://FoO.com:7004/bar hTtP://FoO.com:7004/bar/ hTtP://FoO.com:7004/bar/oink.html hTtP://FoO.com:7004/bar1/oink.html hTtP://FoO.com:7004/bar2/oink.html String Misses http:// http://foo.com http://foo.com/ http://foo.com/bar http://foo.com/bar/oink.html http://foo.com/bar1/oink.html http://foo.com:7004 http://foo.com:7008 http://foo.com:7004/ http://foo.com:7008/ http://foo.com:7008/bar http://foo.com:7008/bar/ http://foo.com:7008/bar/oink.html http://foo.com:7008/bar1/oink.html http://foo.com:7008/bar2/oink.html http://FoO.com http://FoO.com/ http://FoO.com/bar http://FoO.com/bar/oink.html http://FoO.com/bar1/oink.html http://FoO.com:7004 http://FoO.com:7008 http://FoO.com:7004/ http://FoO.com:7008/ http://FoO.com:7008/bar http://FoO.com:7008/bar/ http://FoO.com:7008/bar/oink.html http://FoO.com:7008/bar1/oink.html http://FoO.com:7008/bar2/oink.html hTtP:// hTtP://FoO.com hTtP://FoO.com/ hTtP://FoO.com/bar hTtP://FoO.com/bar/oink.html hTtP://FoO.com/bar1/oink.html hTtP://FoO.com:7004 hTtP://FoO.com:7008 hTtP://FoO.com:7004/ hTtP://FoO.com:7008/ hTtP://FoO.com:7008/bar hTtP://FoO.com:7008/bar/ hTtP://FoO.com:7008/bar/oink.html hTtP://FoO.com:7008/bar1/oink.html hTtP://FoO.com:7008/bar2/oink.html hTtP://FoO.com:7004/bAr hTtP://FoO.com:7008/bAr hTtP://FoO.com:7004/bAr/ hTtP://FoO.com:7008/bAr/ hTtP://FoO.com:7004/bAr/oink.html hTtP://FoO.com:7008/bAr/oink.html hTtP://FoO.com:7004/bAr1/oink.html hTtP://FoO.com:7008/bAr1/oink.html hTtP://FoO.com:7004/bAr2/oink.html hTtP://FoO.com:7008/bAr2/oink.html =================== Regular Expression: ^[hH][tT][tT][pP]:\/\/[fF][oO][oO]\.[cC][oO][mM]\/bar.\/ String Matches http://foo.com/bar1/oink.html http://FoO.com/bar1/oink.html hTtP://FoO.com/bar1/oink.html String Misses http:// http://foo.com http://foo.com/ http://foo.com/bar http://foo.com/bar/oink.html http://foo.com:7004 http://foo.com:7008 http://foo.com:7004/ http://foo.com:7008/ http://foo.com:7004/bar http://foo.com:7008/bar http://foo.com:7004/bar/ http://foo.com:7008/bar/ http://foo.com:7004/bar/oink.html http://foo.com:7008/bar/oink.html http://foo.com:7004/bar1/oink.html http://foo.com:7008/bar1/oink.html http://foo.com:7004/bar2/oink.html http://foo.com:7008/bar2/oink.html http://FoO.com http://FoO.com/ http://FoO.com/bar http://FoO.com/bar/oink.html http://FoO.com:7004 http://FoO.com:7008 http://FoO.com:7004/ http://FoO.com:7008/ http://FoO.com:7004/bar http://FoO.com:7008/bar http://FoO.com:7004/bar/ http://FoO.com:7008/bar/ http://FoO.com:7004/bar/oink.html http://FoO.com:7008/bar/oink.html http://FoO.com:7004/bar1/oink.html http://FoO.com:7008/bar1/oink.html http://FoO.com:7004/bar2/oink.html http://FoO.com:7008/bar2/oink.html hTtP:// hTtP://FoO.com hTtP://FoO.com/ hTtP://FoO.com/bar hTtP://FoO.com/bar/oink.html hTtP://FoO.com:7004 hTtP://FoO.com:7008 hTtP://FoO.com:7004/ hTtP://FoO.com:7008/ hTtP://FoO.com:7004/bar hTtP://FoO.com:7008/bar hTtP://FoO.com:7004/bar/ hTtP://FoO.com:7008/bar/ hTtP://FoO.com:7004/bar/oink.html hTtP://FoO.com:7008/bar/oink.html hTtP://FoO.com:7004/bar1/oink.html hTtP://FoO.com:7008/bar1/oink.html hTtP://FoO.com:7004/bar2/oink.html hTtP://FoO.com:7008/bar2/oink.html hTtP://FoO.com:7004/bAr hTtP://FoO.com:7008/bAr hTtP://FoO.com:7004/bAr/ hTtP://FoO.com:7008/bAr/ hTtP://FoO.com:7004/bAr/oink.html hTtP://FoO.com:7008/bAr/oink.html hTtP://FoO.com:7004/bAr1/oink.html hTtP://FoO.com:7008/bAr1/oink.html hTtP://FoO.com:7004/bAr2/oink.html hTtP://FoO.com:7008/bAr2/oink.html =================== Regular Expression: ^[hH][tT][tT][pP]:\/\/[fF][oO][oO]\.[cC][oO][mM]:700[3-6]\/bar.\/ String Matches http://foo.com:7004/bar1/oink.html http://foo.com:7004/bar2/oink.html http://FoO.com:7004/bar1/oink.html http://FoO.com:7004/bar2/oink.html hTtP://FoO.com:7004/bar1/oink.html hTtP://FoO.com:7004/bar2/oink.html String Misses http:// http://foo.com http://foo.com/ http://foo.com/bar http://foo.com/bar/oink.html http://foo.com/bar1/oink.html http://foo.com:7004 http://foo.com:7008 http://foo.com:7004/ http://foo.com:7008/ http://foo.com:7004/bar http://foo.com:7008/bar http://foo.com:7004/bar/ http://foo.com:7008/bar/ http://foo.com:7004/bar/oink.html http://foo.com:7008/bar/oink.html http://foo.com:7008/bar1/oink.html http://foo.com:7008/bar2/oink.html http://FoO.com http://FoO.com/ http://FoO.com/bar http://FoO.com/bar/oink.html http://FoO.com/bar1/oink.html http://FoO.com:7004 http://FoO.com:7008 http://FoO.com:7004/ http://FoO.com:7008/ http://FoO.com:7004/bar http://FoO.com:7008/bar http://FoO.com:7004/bar/ http://FoO.com:7008/bar/ http://FoO.com:7004/bar/oink.html http://FoO.com:7008/bar/oink.html http://FoO.com:7008/bar1/oink.html http://FoO.com:7008/bar2/oink.html hTtP:// hTtP://FoO.com hTtP://FoO.com/ hTtP://FoO.com/bar hTtP://FoO.com/bar/oink.html hTtP://FoO.com/bar1/oink.html hTtP://FoO.com:7004 hTtP://FoO.com:7008 hTtP://FoO.com:7004/ hTtP://FoO.com:7008/ hTtP://FoO.com:7004/bar hTtP://FoO.com:7008/bar hTtP://FoO.com:7004/bar/ hTtP://FoO.com:7008/bar/ hTtP://FoO.com:7004/bar/oink.html hTtP://FoO.com:7008/bar/oink.html hTtP://FoO.com:7008/bar1/oink.html hTtP://FoO.com:7008/bar2/oink.html hTtP://FoO.com:7004/bAr hTtP://FoO.com:7008/bAr hTtP://FoO.com:7004/bAr/ hTtP://FoO.com:7008/bAr/ hTtP://FoO.com:7004/bAr/oink.html hTtP://FoO.com:7008/bAr/oink.html hTtP://FoO.com:7004/bAr1/oink.html hTtP://FoO.com:7008/bAr1/oink.html hTtP://FoO.com:7004/bAr2/oink.html hTtP://FoO.com:7008/bAr2/oink.html ===================
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]