-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
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)
|
Что ты пытаешься получить из этой строки?
|
[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
И еще Вы тут будете продолжать уроки?
|
Цитата:
Цитата 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)
?
:)
|
$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
И почему происходит это Вроде условия не меняю просто ограничеваю поиск, а результаты разные
|
Цитата:
Цитата 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.
© OSzone.net 2001-