Archive for the ‘Regular Expressions’ tag
More on Regular Expressions!
i was trying to understand what’s happening behind scenes in the Log Class in Flex Framework
if you digg a little bit in their Classes you’ll find something like this
1 2 3 4 5 6 7 8 9 10 11 12 13 | public function debug(msg:String, ... rest):void { if (hasEventListener(LogEvent.LOG)) { // replace all of the parameters in the msg string for (var i:int = 0; i < rest.length; i++) { msg = msg.replace(new RegExp("\\{"+i+"\\}", "g"), rest[i]); } dispatchEvent(new LogEvent(msg, LogEventLevel.DEBUG)); } } |
so what’s means msg = msg.replace(new RegExp(”\\{”+i+”\\}”, “g”), rest[i]); ??????
that means whenever you find “{0}” …. “{n}” replace it by the string rest[0] … rest[n]
so you can use
1 2 | Log.debug("the song says {0} little {1} little {2} little-endians" , 'zero','one','two'); //outputs: the song says zero little one little two little-endians |
for me is so hard to read a Regular Expressions especially because i always forget
all means of meta characters and meta secquencies hehehe
Validating a String
well this is a handy code snippet to validate a string
if you want to avoid some bad words, this is for you:
1 2 3 4 5 6 7 8 9 10 11 12 | function isValid(str:String):Boolean { var regExp:RegExp = /\b(badword|nastyWord)\b/i; var _isValid:Boolean = !regExp.test(str); return _isValid; } var _inValidMessage = "this is a example for a bad badword it's really nasty"; var _validMessage = "Hello Word!"; trace(isValid(_inValidMessage)) //false trace(isValid(_validMessage))//true |
you can add more words just separating them by a pipeline ( | ) in the Regular Expression
Cheers.