Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   StringRegExp Почему сьедаеться вся строчка когда я работаю с элементом String (http://forum.oszone.net/showthread.php?t=207193)

shyra1976 19-05-2011 14:28 1679072

StringRegExp Почему сьедаеться вся строчка когда я работаю с элементом String
 
StringRegExp Почему сьедаеться вся строчка когда я работаю с элементом String и не сьедаеться с полным String



Код:

#include <array.au3>
$String1 ="Copyright 1997-2011, American Needlepoint Guild, Inc. All Rights Reserved. The contents of this page were expressly posted for individual viewing purposes on the Internet only. No part "
$String2 = ""
$sStart= "Copyright"
$sStop ="Reserved"
;~ $sPattern = "\D*((?:\d|\.|\-)+)\D*"
$sPattern = "(.*?)"
$a = StringRegExp ($String1,$sPattern,3);-------------------------------1 stroka------
;~ $a = StringRegExp ($String1,"(?i)" & $sStart & $sPattern & $sStop,3);------2 stroka------

_ArrayDisplay($a)


Creat0R 19-05-2011 15:11 1679095

Что ты пытаешься получить из этой строки?

shyra1976 19-05-2011 15:31 1679107

[0]|
[1]|C
[2]|
[3]|o
[4]|
[5]|p
[6]|
[7]|y
[8]|
[9]|r
[10]|
[11]|i
[12]|
[13]|g
[14]|
[15]|h
[16]|
[17]|t

в первом коде у меня получаеться а в этом нет У меня сьедаеться вся строчка

Код:

#include <array.au3>
$String1 ="Copyright 1997-2011, American Needlepoint Guild, Inc. All Rights Reserved. The contents of this page were expressly posted for individual viewing purposes on the Internet only. No part "
$String2 = ""
$sStart= "Copyright"
$sStop ="Reserved"
;~ $sPattern = "\D*((?:\d|\.|\-)+)\D*"
$sPattern = "(.*?)"
;~ $a = StringRegExp ($String1,$sPattern,3);-------------------------------1 stroka------
$a = StringRegExp ($String1,"(?i)" & $sStart & $sPattern & $sStop,3);------2 stroka------
_ArrayDisplay($a)

http://autoit-script.ru/index.php?topic=4901.0
И еще Вы тут будете продолжать уроки?

Creat0R 19-05-2011 16:23 1679134

Цитата:

Цитата shyra1976
У меня сьедаеться вся строчка »

Что значит «сьедаеться»?
Если первый шаблон работает, тогда в чём проблема?

Может быть вот так нужно:

Код:

#include <Array.au3>

$String1 ="Copyright 1997-2011, American Needlepoint Guild, Inc. All Rights Reserved. The contents of this page were expressly posted for individual viewing purposes on the Internet only. No part "

$sPattern = "([\w\s])"

$a = StringRegExp($String1, $sPattern, 3)
_ArrayDisplay($a)

?
:)

shyra1976 19-05-2011 16:59 1679153

$a = StringRegExp ($String1,"(?i)" & $sStart & $sPattern & $sStop,3);------2 stroka------
-в этой строке я прошу поиск всех символов от $sStart и до $sStop и у меня записываеться все в массив[0]| 1997-2011, American Needlepoint Guild, Inc. All Rights ),
а надо что бы каждый знак был в своей ячейки массива как в случае с 1 стракой(приведина ниже)
[0]|
[1]|C
[2]|
[3]|o
[4]|
[5]|p
[6]|
[7]|y
[8]|



;~ $a = StringRegExp ($String1,$sPattern,3);-------------------------------1 stroka------
а в этой строке я прошу поиск всех символов $String1

И почему происходит это Вроде условия не меняю просто ограничеваю поиск, а результаты разные

Creat0R 19-05-2011 23:05 1679311

Цитата:

Цитата shyra1976
Вроде условия не меняю просто ограничеваю поиск, а результаты разные »

Как не меняешь, любой символ в рег. выражений это изменение условия, попробуй так:

Код:

#include <Array.au3>

$String1 = "Copyright 1997-2011, American Needlepoint Guild, Inc. All Rights Reserved. The contents of this page were expressly posted for individual viewing purposes on the Internet only. No part "

$sStart = "Copyright"
$sStop = "Reserved"
$sPattern = "(?i)" & $sStart & "|" & $sStop & ".*|([\w\d])"

$a = StringRegExp($String1, $sPattern, 3)
$a[0] = UBound($a)-1
ReDim $a[$a[0]]

_ArrayDisplay($a)

Первый и последний элемент приходится обрезать, т.к они содержат $sStart и $sStop.


Время: 17:35.

Время: 17:35.
© OSzone.net 2001-