powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как сделать LookBehind в VBScript Regular Exressions?
8 сообщений из 8, страница 1 из 1
как сделать LookBehind в VBScript Regular Exressions?
    #34778038
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Как можно, используя Microsoft VBScript Regular Exressions, написать условие с положительным заглядыванием назад, т.е. нужно найти что-то (A), cтоящее после чего-то (B), но чтоб (B) не попало в результат. Например, из строки "a1b2c3d4" нужно достать цифру после "c".
Интересует вариант в одно действие :).
...
Рейтинг: 0 / 0
как сделать LookBehind в VBScript Regular Exressions?
    #34779011
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понял задачу. Но кажется так: "c(\d+)"

И вообще, для тестов регулярок в vbs я когда-то набросал такой скриптик:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
' Change here
sPattern = "c(\d+)"
aTestStrings = Array( _
	 "a1b2c3d4" _
	,"a1b2c4d4" _
	,"a1b2c5d4" _
	)

' do not change anything else
Set oRegEx = New RegExp
oRegEx.Global = True
oRegEx.Pattern = sPattern

for i=lbound(aTestStrings) to uBound(aTestStrings)
	WScript.Echo aTestStrings(i)
	set oMatches = oRegEx.Execute(aTestStrings(i))
	For Each Match in oMatches
		RetStr = ""
		RetStr = RetStr & "	Match found at position "
		RetStr = RetStr & Match.FirstIndex & ". Match Value is '"
		RetStr = RetStr & Match.Value & "'."
		WScript.Echo RetStr
		j= 0 
		for each sm in Match.SubMatches
			WScript.Echo "		SubMatch "& j & ": " & sm
			j = j+ 1 
		next
	Next
	set oMatches = Nothing
next
...
Рейтинг: 0 / 0
как сделать LookBehind в VBScript Regular Exressions?
    #34779134
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl, спасибо за ответ, почти то, что нужно, только "с" не должно быть в результате
...
Рейтинг: 0 / 0
как сделать LookBehind в VBScript Regular Exressions?
    #34779230
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответ нашел, VBScript этого не поддерживает.. :(
...
Рейтинг: 0 / 0
как сделать LookBehind в VBScript Regular Exressions?
    #34779436
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbaproWhite Owl, спасибо за ответ, почти то, что нужно, только "с" не должно быть в результатеТак его там и нету. Ты смотришь на Match, который показывает подстроку удовлетворяющую шаблону целиком. А надо смотреть на коллекцию SubMatches, которая выкусывает куски из шаблона. Посмотри вывод моего скрипта.
...
Рейтинг: 0 / 0
как сделать LookBehind в VBScript Regular Exressions?
    #34779437
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbaproОтвет нашел, VBScript этого не поддерживает.. :(Это очень смелое заявление.
Докажи его, пожалуйста.
...
Рейтинг: 0 / 0
как сделать LookBehind в VBScript Regular Exressions?
    #34780025
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl vbaproWhite Owl, спасибо за ответ, почти то, что нужно, только "с" не должно быть в результатеТак его там и нету. Ты смотришь на Match, который показывает подстроку удовлетворяющую шаблону целиком. А надо смотреть на коллекцию SubMatches, которая выкусывает куски из шаблона. Посмотри вывод моего скрипта.Да, ты прав, я проверял шаблон на своем коде без SubMatches
White Owl vbaproОтвет нашел, VBScript этого не поддерживает.. :(Это очень смелое заявление.
Докажи его, пожалуйста.для определенности, под "это" я имел в виду Lookbehind, инфо здесь
...
Рейтинг: 0 / 0
как сделать LookBehind в VBScript Regular Exressions?
    #34782536
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbapro White Owl vbaproОтвет нашел, VBScript этого не поддерживает.. :(Это очень смелое заявление.
Докажи его, пожалуйста.для определенности, под "это" я имел в виду Lookbehind, инфо здесь ааа... Ну да, перловые регекспы на сегодня самые навороченные и далеко не все что можно сделать в Перле можно сделать в других библиотеках регулярных выражений. Действительно VBScript не сможет понять шаблон "(?<=c)\d+". Но с другой стороны, шаблон "c(\d+)" решает ту же самую задачу, хоть и с чуть большим кодом на обработку результата.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / как сделать LookBehind в VBScript Regular Exressions?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]