Forum Discussion
Rory_Hewitt_139
Jun 04, 2014Nimbostratus
Determining processing based on flags in a URL
I have a URL which will come in as
/features?features=10010001
where each '1' or '0' is a 'flag'. I need to check each flag in turn and depending on its value, XOR it with a matching flag s...
- Jun 04, 2014
that kinda works, except that the characters could potentially be 0, 1 or -
may we remove - before scanning?
% scan [string map {"-" ""} 10--01-00---01] %2d%2d%2d%2d a b c d 4 % put "$a $b $c $d" 10 1 0 1
by the way, if flag is only one digit each, can we use split?
% split [string map {"-" ""} 10--01-00---01] {} 1 0 0 1 0 0 0 1
nitass_89166
Noctilucent
what about scan or regexp?
scan
% scan 10010001 %2d%2d%2d%2d a b c d
4
% put "$a $b $c $d"
10 1 0 1
% time "scan 10010001 %2d%2d%2d%2d a b c d" 1000
5.319 microseconds per iteration
regexp
% regexp {(\d\d)(\d\d)(\d\d)(\d\d)} 10010001 m a b c d
1
% put "$a $b $c $d"
10 01 00 01
% time "regexp {(\d\d)(\d\d)(\d\d)(\d\d)} 10010001 m a b c d" 1000
3.077 microseconds per iteration
JG
Jun 05, 2014Cumulonimbus
The test results here seem to go contrary to the prevalent view that prefers "scan" to "regexp" for performance.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects