Highlight patterns within strings

  

复制代码 代码如下:

  'Replaces pattern with highlighted replacement (using style) and preserves case

  Public Function highlight(strText, strFind)

  Dim objRegExp, i, strHighlight

  'Split the search terms into an array

  Dim arrFind

  arrFind = Split(strFind, " ")

  'Initialize the regular expression object to perfom the search

  Dim oMatches, sMatch

  Set oregExp = New RegExp

  oregExp.Global = True 'Returns all matches to the search term

  oregExp.IgnoreCase = True 'Case insensitive

  'Loop through the array of search terms to find matches

  For i = 0 to UBound(arrFind)

  oregExp.Pattern = arrFind(i) 'Sets the search pattern string

  Set oMatches = oregExp.Execute(strText) '// performs the search

  for each match in oMatches

  'Build the code to be used to highlight results

  strHighlight = "<span class=""highlight"">" & match.value & "</span>"

  next

  'Replace matches from the search with the above code

  strText = oregExp.Replace(strText, strHighlight)

  Next

  highlight = strText

  Set objRegExp = Nothing

  End Function