Как сделать LookBehind в VBScript Regular Exressions?

Узнай цену своей работы

Формулировка задачи:

Всем привет! Как можно, используя Microsoft VBScript Regular Exressions, написать условие с положительным заглядыванием назад, т.е. нужно найти что-то (A), cтоящее после чего-то (B), но чтоб (B) не попало в результат. Например, из строки "a1b2c3d4" нужно достать цифру после "c".
Интересует вариант в одно действие :).

Решение задачи: «Как сделать LookBehind в VBScript Regular Exressions?»

textual
Листинг программы
<font color="00AA00">' Change here</font>
sPattern = <font color="teal">"c(\d+)"</font>
aTestStrings = Array( _
	 <font color="teal">"a1b2c3d4"</font> _
	,<font color="teal">"a1b2c4d4"</font> _
	,<font color="teal">"a1b2c5d4"</font> _
	)

<font color="00AA00">' do not change anything else</font>
<font color="blue">Set</font> oRegEx = <font color="blue">New</font> RegExp
oRegEx.Global = True
oRegEx.Pattern = sPattern

<font color="blue">for</font> i=lbound(aTestStrings) <font color="blue">to</font> uBound(aTestStrings)
	WScript.Echo aTestStrings(i)
	<font color="blue">set</font> oMatches = oRegEx.Execute(aTestStrings(i))
	<font color="blue">For</font> <font color="blue">Each</font> Match <font color="blue">in</font> oMatches
		RetStr = <font color="teal">""</font>
		RetStr = RetStr & <font color="teal">"	Match found at position "</font>
		RetStr = RetStr & Match.FirstIndex & <font color="teal">". Match Value is '"</font>
		RetStr = RetStr & Match.Value & <font color="teal">"'."</font>
		WScript.Echo RetStr
		j=<font color="darkblue"><b>0</b></font>
		<font color="blue">for</font> <font color="blue">each</font> sm <font color="blue">in</font> Match.SubMatches
			WScript.Echo <font color="teal">"		SubMatch "</font>& j & <font color="teal">": "</font> & sm
			j = j+<font color="darkblue"><b>1</b></font>
		<font color="blue">next</font>
	<font color="blue">Next</font>
	<font color="blue">set</font> oMatches = <font color="blue">Nothing</font>
<font color="blue">next</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы