I have been studying regular expressions for over a week all to facilitate my understanding of "Son ofSuckerfish drop-down menus" but am not understanding the regular expression found in the suckerfish drop-downs JavaScript as of now. So if you could help me that would be great. The JavaScript I'm talking about appears immediately below with the line I am talking about highlighted in Orange.
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");  
if (window.attachEvent) window.attachEvent("onload", sfHover);
My questions are these.

1. Why is the regular expression object used within the replace method rather than the literal syntax?

2. What does "\\b" mean in this regular expression? It appears that the first "\" will escape the normal meaning of "\b", so what does this mean in the regular expression?

3. If I wanted to use the literal syntax how would I create the whitespace before the word "sfhover", if this literal syntax using forward slashes can be used at all?

I hope these questions makes sense. I could read about regular expressions more but if you can answer these questions now I think my understanding would be greatly facilitated.