Что нового

разбор шаблона текста

royalfint

Трейдер, Программист, Игродел, Веб-Мастер
Сообщения
74
Репутация
0
Всем привет! Пишу программку с GUI в котором пользователь может задать шаблон текста который мы будем обрабатывать. Пример значения поля с шаблоном текста:
Код:
%CUR% M%TF% call
. А вот пример самого текста:
Код:
EURUSD M15 call
. Собственно мне нужно запихать в переменную значение %CUR%, %TF% из текста и весь оставшийся текст в другую переменную и сделать отдельный ELSE если не подходит по шаблону. Но как это сделать, что то не приходит в голову :( Прошу у вас помощи! :IL_AutoIt_1: Всем заранее спс
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Код:
#include <Array.au3>
$text = "EURUSD M15 call"
$pattern = "(.*?)\sM(\d*?)\s(.*?)$"
$aRES = StringRegExp($text, $pattern,3)
If Not @error Then
	_ArrayDisplay($aRES)
Else
	MsgBox(0,"","совпадений не найдено")
EndIf
 
Автор
royalfint

royalfint

Трейдер, Программист, Игродел, Веб-Мастер
Сообщения
74
Репутация
0
:beer: thanks a lot!


Добавлено:
Сообщение автоматически объединено:

C2H5OH сказал(а):
Код:
#include <Array.au3>
$text = "EURUSD M15 call"
$pattern = "(.*?)\sM(\d*?)\s(.*?)$"
$aRES = StringRegExp($text, $pattern,3)
If Not @error Then
	_ArrayDisplay($aRES)
Else
	MsgBox(0,"","совпадений не найдено")
EndIf

ну я буду заменять %CUR% на (.*?) а вот как быть с \sTEXT , это будет считаться правильным? \sTEXT SPACE TEXT ALSO TEXT


Добавлено:
Сообщение автоматически объединено:

а нет все разобрался
Код:
#include "Array.au3"
Local $template="%CUR% M%TF% put"
		$text = "EURUSD M15 call"
		$template=StringReplace($template," ","\s")
		$template=StringReplace($template,"%CUR%","(.*?)")
		$template=StringReplace($template,"%TF%","(\d*?)")
		;MsgBox(0,"",$template)

		;$pattern = "(.*?)\sM(\d*?)\scall"
		$aRES = StringRegExp($text, $template,3)
		If Not @error Then
			_ArrayDisplay($aRES)
		Else
			MsgBox(0,"","совпадений не найдено")
		EndIf
 
Верх