VBScript + регулярные выражения - PullRequest
0 голосов
/ 09 апреля 2010
Dim sString

sString = "John;Mary;Anne;Adam;Bill;Ester"

Есть ли регулярное выражение, которое я могу использовать для получения следующего из приведенного выше списка:

  1. Джон (; в конце названия)
  2. Энн (; в начале и в конце)
  3. Эстер (; в начале)

В настоящее время я использую следующее регулярное выражение для каждого:

1. Joh.*
2. .*An.*
3. .*st.*

Но вышеизложенное получает всю строку вместо значений, которые я хочу. Как я могу получить правильные значения?

Код:

Dim oRegex : Set oRegex = New RegExp
oRegex.Global = False
oRegex.IgnoreCase = False

'John
oRegex.Pattern = "Joh.*"

Set oMatch = oRegex.Execute(sString)
sName = oMatch(0)

Приведенный выше код извлекает всю строку, а не только Джона. Та же проблема с остальными: (

Ответы [ 2 ]

2 голосов
/ 09 апреля 2010

Почему бы просто не использовать это?

Dim nameArray = Split(sString,";")
1 голос
/ 09 апреля 2010

проще, сделайте split() на вашей строке. Затем итерируйте список, чтобы получить ваши вещи, например

s = split(sString,";")
for i=Lbound(s) to Ubound(s)
  ' get your names
next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...