![]() |
#13
|
|||
|
|||
![]() Quote:
With Backreferences: 1. You can use submatch 2. You can refer to an earlier group later in the Pattern () 3. You can use submatch in REPLACE Note 1. You already use it in your code. Note 2. Pattern = "([A-Za-z]+) \1" Pattern = <series1><space><series2>, where <series1> and <series2> are identical E.g. Pattern = "([A-Za-z]+) \1" will find "a a", "John John". If .IgnoreCase = True then it will also find "A a" a Pattern = "([A-Za-z]+) ([A-Za-z]+) \2 \1" will find "Jack Sprat Sprat Jack Note 3. In Repace we don't use \1, \2, … We use $1, $2, … Code:
Sub test2() Dim RegEx As Object, Matches As Object, Match As Object, text As String text = "Fellow John John is a good student. Fellow Jack Jack also" Debug.Print text Set RegEx = CreateObject("VBScript.RegExp") With RegEx .Global = True .Pattern = "([A-Za-z]+) \1" If .test(text) Then text = .Replace(text, "$1") ' in every place in string Text where a result is found, that result is replaced with its $1 Debug.Print text End If End With text = "John Smith is a good student. Jack Sprat also" With RegEx .Global = True .Pattern = "([A-Z][a-z]+) ([A-Z][a-z]+)" If .test(text) Then text = .Replace(text, "$2 $1") Debug.Print text End If End With End Sub |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Any work-around for this challenge | RRB | Word | 6 | 08-22-2023 11:47 AM |
Formula challenge 3 criteria | JMC44 | Excel Programming | 0 | 04-04-2015 07:38 PM |
![]() |
e.roberts | Office | 3 | 07-13-2012 01:36 AM |
![]() |
gbaker | Excel Programming | 11 | 06-22-2012 09:39 AM |
![]() |
jpotter2 | Word | 3 | 03-22-2011 02:07 PM |