PHP


Regular Expressions

Tags: , , , ,

I can never seem to locate a guide that has an easy explanation of the common regular expressions that I use on a regular basis.  I usually just find bits and pieces, or find the right info, but not displayed in a way that’s easy to reference.  So here’s my own notes on RegEx 🙂

CharacterUsage
.wildcard character - will match anything
|or operator - (this|that) will match either
-range selector - will match a range of character or numbers i.e. 1-9
[]match any character inside the brackets [aeiou] would match anything with a vowel.
^match the start of a string - ^a will match 'atlas' but not 'mad'
[^]don't match - it will negate what you put inside like [^cheese]
$match the end of a string - at$ will match 'mat' but not 'saturn'
?match preceding character 0-1 times - tree? will match 'tre', 'tree', but not 'treee'
*match preceding character 0+ time - same as * except it would match 'treee'+
+match preceding character 1+ times - this version will not match 'tre'
{#}match preceding character # times - tree{3} will match 'treeee'
{#,#2}match preceding character at least #, but not more than #2 - tree{3,4} will match 'treeee' or 'treeeee'
icase insensitive flag - add at end i.e. '#(regex)#i'
sdotall flag - make the "." character match anything
xverbose flag - ignore all whitespace and allows "#" commenting
Regular expression syntax

One piece I use often as kind of a ‘match-all’ is “(.*?)” so preg_match_all(‘#<a>(.*?)</a>#is’, $content, $matches); would match everything in the string that is within anchor tags.

The delimiter can also be changed, in the previous example it is the “#” pound character, but could easily be changed to “/” as in ‘/<a>(.*?)</a>/is’ or changed into whatever is most convenient for the enclosed string.

Permalink » No comments

ApacheBench

Tags: , , , , ,

I was looking around today for some means to load test my scripts, I happened upon this website:  http://loadimpact.com/

It’s free services were alright, but up to 50 users just won’t put my scripts through they’re paces!  I’ve looked into trying something called ApacheBench before, but had trouble.  It’s something you can only access through SSH, and when in there I kept receiving “-bash: ab: command not found” errors.  Not fun!

The problem was I wasn’t in the right directory.  I found out you can search for ApacheBench but running “find / -name ab” (without quotes)  then you would include the directory when running ApacheBench “/dir/ab -n 100 http://yourdomain.com"

References:
http://sharebear.co.uk/blog/2009/03/12/optimising-django-dreamhost/
http://www.webmaster-talk.com/php-forum/116797-web-stress-tools-recommend.html
http://httpd.apache.org/docs/1.3/programs/ab.html
http://wiki.dreamhost.com/Ssh

Permalink » No comments