I've set the .htaccess redirection as follow

RewriteCond %{REQUEST_URI} ^/(.*)/(.[0-9]|[1-9])-(.*).htm
RewriteRule ^(.*)/(.[0-9]|[1-9])-(.*).htm ./myfile.php?id=$2&dir=$1&title=$3 [L]

its working acceptable for web addresses like

"http://domain/funny/23-some-title.htm" 
"http://domain/funny/45-some-title.htm"

It does not work when the number value more than 100. Can anybody let me know the issue... Still I am attempting to solve the answer.

Hope you can test to make use of [0-9]+ instead of [0-9] to ensure that everything from greater than a single digit will get selected.

You are able to try it out..