powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / RegExp - паттерны, matches...
4 сообщений из 4, страница 1 из 1
RegExp - паттерны, matches...
    #39170933
Фотография гурД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наше вам с кисточкой... ))

!) Не подскажете с паттерном?
Нужно за один проход забрать оттуда сразу Оператора, Номер, Стоимость...
Отдельные вроде получились, не понимаю уже, как с остальными...
Код: vbnet
1.
2.
'телеф номер:
p = "\b[8|\+7][-.]?\d{3}[-.]?\d{3}[-.]?\d{4}\b"


Код: vbnet
1.
p = p & "(.{10,30})[Руб.</b>]"


(Кажется, как-то можно было по submatches, или не пойму...)
2) С кодировкой источника что-то в итоге не так
source
Код: xml
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
		
		</p>
		<p>&nbsp;</p>
		</td><td>&nbsp;</td></tr><tr><td width="46%" valign="top">
		<u>Билайн 8-965-117-8558</u>
		<p align="right">Цена: <b>999 Руб.</b>
			
		<form action="/">
			<input type="hidden" name="type" value="buy" />
			<input type="hidden" name="buy_id" value="120085532" />
			<div align="right"><input type="submit" value="Купить" style="font-size:10px;" /></div>
		</form>	
		
		</p>
		<p>&nbsp;</p>
		</td><td>&nbsp;</td><td width="46%" valign="top">
		<u>Билайн 8-965-117-8668</u>
		<p align="right">Цена: <b>999 Руб.</b>
			
		<form action="/">
			<input type="hidden" name="type" value="buy" />
			<input type="hidden" name="buy_id" value="120085533" />
			<div align="right"><input type="submit" value="Купить" style="font-size:10px;" /></div>
		</form>	
		
		</p>
		<p>&nbsp;</p>
		</td><td>&nbsp;</td></tr><tr><td width="46%" valign="top">
		<u>Билайн 8-965-118-6556</u>
		<p align="right">Цена: <b>999 Руб.</b>
			
		<form action="/">
			<input type="hidden" name="type" value="buy" />
			<input type="hidden" name="buy_id" value="120085534" />
			<div align="right"><input type="submit" value="Купить" style="font-size:10px;" /></div>
		</form>	
		
		</p>
		<p>&nbsp;</p>
		</td><td>&nbsp;</td><td width="46%" valign="top">
		<u>Билайн 8-965-119-0660</u>
		<p align="right">Цена: <b>999 Руб.</b>


Код: vbnet
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
Function HtmlParser(ByVal str As String)
'   MsgBox "Test-" & oRgx.Test("    </p>" & _
'    "<p>&nbsp;</p>" & _
'    "</td><td>&nbsp;</td><td width=""46%"" valign=""top"">" & _
'    "<u>МегаФон 8-926-795-1144</u>" & _
'    "<p align=""right""Цена: <b>1999 Руб.</b>")
Dim i As Integer, s As String
Dim fso, fld, f, ofsoTxtStream
Dim oRgx, orgxMatch, orgxMatcheS
Set oRgx = CreateObject("VBScript.RegExp")
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile(str)
Set ofsoTxtStream = f.OpenAsTextStream(1)

'читаем файл в поток, поток в переменную:
s = ofsoTxtStream.readall(): ofsoTxtStream.Close
'
'Паттерны:
Dim p As String 
'телеф номер:
p = "\b[8|\+7][-.]?\d{3}[-.]?\d{3}[-.]?\d{4}\b"

p = p & "(.{10,30})[Руб.</b>]"

   oRgx.Global = True
   oRgx.ignorecase = False
   oRgx.Multiline = True
   oRgx.pattern = p
'ТЕСТ:
'     MsgBox "Test-" & oRgx.Test("    </p>" & _
'    "<p>&nbsp;</p>" & _
'    "</td><td>&nbsp;</td><td width=""46%"" valign=""top"">" & _
'    "<u>МегаФон 8-926-795-1144</u>" & _
'    "<p align=""right""Цена: <b>1999 Руб.</b>")
   Set orgxMatcheS = oRgx.Execute(s)
   Debug.Print orgxMatcheS.Count
  For i = 0 To orgxMatcheS.Count - 1
    Set orgxMatch = orgxMatcheS.Item(i)
     Debug.Print "#############"
     Debug.Print orgxMatch.FirstIndex
     Debug.Print orgxMatch.Length
     Debug.Print "------------"
'     Debug.Print orgxMatcheS.Value
     Debug.Print orgxMatcheS.Count
'''''''     Debug.Print orgxMatcheS.Item(i)
     Debug.Print "============"
  Next
MsgBox "!"
Set fso = Nothing: Set fld = Nothing: Set ofsoTxtStream = Nothing: Set f = Nothing
Set oRgx = Nothing: Set orgxMatcheS = Nothing: Set orgxMatch = Nothing
End Function

...
Рейтинг: 0 / 0
RegExp - паттерны, matches...
    #39170935
Фотография гурД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
( Тут ещё и тренироваться можно, до чего дошла техника...:-))
...
Рейтинг: 0 / 0
RegExp - паттерны, matches...
    #39170961
Фотография гурД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3) Я так думаю, вначале выбранные строки должны попадать в Матчи,
а далее разбираться на составляющие уже по SubMatches в каждом Match соответственно?..
...
Рейтинг: 0 / 0
RegExp - паттерны, matches...
    #39174661
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Автор попросил в Visual Basic отправить. Не знаю, тут ли топику место, но исполняю.

Модератор: Тема перенесена из форума "Microsoft Access".
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / RegExp - паттерны, matches...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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