регулярные выражения и VBA - PullRequest
0 голосов
/ 22 января 2012

Кто-нибудь знает, как извлечь совпадения в виде строк из функции RegExp.Execute ()?

Позвольте мне показать вам, что я получил до сих пор:

Regex.Pattern = "^[^*]*[*]+"
Set myMatches = Regex.Execute(temp)

Я хочу, чтобы объект "myMatches", который содержит совпадения, был преобразован в строку. Я знаю, что будет только один матч за исполнение.

Кто-нибудь знает, как извлечь совпадения из объекта в виде отображаемых строк, скажем, через MsgBox?

Ответы [ 2 ]

2 голосов
/ 23 января 2012

Попробуйте это:

Dim sResult As String

'// Your expression code here...

sResult = myMatches.Item(0)
'// or
sResult = myMatches(0)

Msgbox("The matching text was: " & sResult)

Метод Execute возвращает коллекцию совпадений, и вы можете использовать свойство item для извлечения текста с использованием индекса.

Как вы сказали, у вас только одно совпадение, тогда индекс равен нулю. Если у вас более одного совпадения, вы можете вернуть требуемый индекс совпадения или выполнить цикл по всей коллекции.

0 голосов
/ 22 января 2012

Эта страница содержит много информации о регулярных выражениях и, кажется, содержит то, что вы хотите.

http://www.regular -expressions.info / vbscript.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...