2012-04-05 2 views
0

! Я работаю с методом замены VBA Regex и задаюсь вопросом, сколько параметров он может принять? Я видел страницу msdn, которая дает множество разных опций, но я не уверен, что использовать. Вот ссылка на эту страницу: MSDN Page: Regex.Replace MethodСколько параметров допустимо в VBA Regex. Replace Method?

Я хотел бы иметь возможность использовать обратные ссылки и другое VBA Regex в параметре «replace with», если это возможно.

Я в настоящее время только в состоянии сделать это, например, (дословный текст замены)

RE6a = RE.Replace(strData, " ") 

Я хотел бы сделать это, например:

RE6a = RE.Replace(strData, \s) 

или

RE6a = RE.Replace(strData, \1 \3 \4) 

Как я могу это сделать в VBA Regex?

Спасибо за помощь!

+2

Ваша ссылка для .NET Regex, не то, что вы будете использовать в VBA. – Jay

+1

Вы не можете подставлять другие выражения регулярных выражений в 'Replace'. – brettdj

+0

Есть ли у вас конкретный пример, когда ваш строковый литерал или подкачка не достигает того, что вам нужно? – brettdj

ответ

3

У VBA нет регулярных выражений. Чтобы использовать их, вы должны сначала обратиться к библиотеке регулярных выражений.

Если случилось так, что вы ссылки на библиотеку регулярных выражений Microsort VBScript, то вы найдете ответ в documentation:

' Swap first pair of words. 
MsgBox(ReplaceTest("(\S+)(\s+)(\S+)", "$3$2$1")) 
+1

Я прокомментировал, что этот конкретный пример заменил подмаски, а не обратные ссылки. Но процесс, использованный выше с подматрицами (т. Е. Синтаксис «$ 1») одинаковый для [ссылки на обратную ссылку] (http://msdn.microsoft.com/en-us/library/fzhdcs5c (v = vs.85) .aspx) – brettdj

 Смежные вопросы

  • Нет связанных вопросов^_^