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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Как из текста выбрать все выражения вида "{...}"? (http://forum.oszone.net/showthread.php?t=161572)

evg64 26-12-2009 20:16 1304958

Как из текста выбрать все выражения вида "{...}"?
 
Добрый день! Из длинного текста надо выбрать все выражения вида "{...}". Пишу код:

Код:

$sShablonText="{влюбиться по уши|любить} в вампира — {страшно|бояться|очень|сильно} и романтично. Но {потерять голову|смущаться} любимого, решившего ценой разрыва спасти {войти в свою колею|порядок} девушку от роли пешки в вечном противостоянии кланов «ночных охотников», — это {просто|простой} {невыносимо|очень} Белла Свон мучительно переживает {исчезновение|гибель} Эдварда и {ни с чем|безуспешно} ищет забвения в {быть в дружбе|дружить} с мальчишкой-индейцем Джейкобом Блэком. Она {даже если|даже|хотя} не подозревает, что её {превосходнейший|лучший} {Товарищ|сотоварищ|сверстник|друг|коллега|собеседник|собрат|собутыльник|сослуживец|соратник|соотечествен-ник|единоверец|единоплеменник|соплеменник|соотчич|сородич|земляк|соратник|однокашник|соумышленник|клеврет|помощник|сподвижник|сотрудник|друг|пара|помощник|участник} — {порождение|дитя|плод} ещё {одного стропильца нет|глупый} {глас народа -- глас божий|молва} Тьмы». {глас народа -- глас божий|молва} {куда|гораздо} {благо|тем более} жестокого и опасного, чем аристократы-вампиры… "

#Include <Array.au3>
$aShablon=StringRegExp($sShablonText,"({(?s).*?})",3)
_ArrayDisplay($aShablon)

У меня работает некорректно: выводит выражения с "{" по "|" , а не по "}". Что в коде неправильно?

Creat0R 26-12-2009 23:38 1305098

Символы «{» и «}» являются служебными, поэтому их нужно “отменять”:

Код:

$aShablon = StringRegExp($sShablonText, "(?s)(\{.*?\})", 3)


Время: 08:56.

Время: 08:56.
© OSzone.net 2001-