Index: search.module
===================================================================
--- search.module	(revision 179)
+++ search.module	(revision 180)
@@ -6,6 +6,8 @@
  * Enables site-wide keyword searching.
  */
 
+define('PREG_CLASS_SEARCH_EXCLUDE_WITH_CONDITION','\x{23}\x{2b}');
+
 /**
  * Matches Unicode character classes to exclude from the search index.
  *
@@ -20,7 +22,7 @@
  * No     Number, Other
  */
 define('PREG_CLASS_SEARCH_EXCLUDE',
-'\x{0}-\x{2f}\x{3a}-\x{40}\x{5b}-\x{60}\x{7b}-\x{bf}\x{d7}\x{f7}\x{2b0}-'.
+'\x{0}-\x{22}\x{24}-\x{2a}\x{2c}-\x{2f}\x{3a}-\x{40}\x{5b}-\x{60}\x{7b}-\x{bf}\x{d7}\x{f7}\x{2b0}-'.
 '\x{385}\x{387}\x{3f6}\x{482}-\x{489}\x{559}-\x{55f}\x{589}-\x{5c7}\x{5f3}-'.
 '\x{61f}\x{640}\x{64b}-\x{65e}\x{66a}-\x{66d}\x{670}\x{6d4}\x{6d6}-\x{6ed}'.
 '\x{6fd}\x{6fe}\x{700}-\x{70f}\x{711}\x{730}-\x{74a}\x{7a6}-\x{7b0}\x{901}-'.
@@ -365,6 +367,8 @@
   // marks, spacers, etc, to be a word boundary.
   $text = preg_replace('/['. PREG_CLASS_SEARCH_EXCLUDE .']+/u', ' ', $text);
 
+  $text = preg_replace('/(\w)*['. PREG_CLASS_SEARCH_EXCLUDE_WITH_CONDITION .']+(\w)+/u', '\1\2', $text);
+  
   return $text;
 }
 
