Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Formatting was changed.

...

Запрос разделен на термы и операторы. существует два типа терм: Одиночные термы и фразы:

Одиночные термы это слова. Например "test" или "привет".

Фраза это группа слов обрамленная в кавычки например "привет Долли".

Термы могут быть скомпанованы с помощью логических операторов для составления сложных поисковых запросов.

...

"яблоко груша" NOT "оранжевый грейпфрут"

Info
Оператор NOT не может быть использован с одним термом. Например, данный запрос будет пустым:
NOT "яблоко груша"
Для выполнения NOT запроса, необходимо сначала выделить более большее множество и из него убрать меньшее. Например
from:"company.com" NOT from:"ivan@company.com"

-

Оператор "-" или запрещающий оператор исключает документы которые содержат термы после операторы "-".

...

Архива поддерживает использование скобок для группирования нескольких условий применительно к одному полю.

Для поиска заголовка, содержащего слово "яблоко" и фразу "оранжевой грейпфрут" в теме письма, используется запрос:

subject:(+яблоко +"оранжевой грейпфрут")

...

Архива поддерживает поиск по шаблону одной буквы или множества букв в отдельных термах но не фразах.

Для поиска по шаблону одной буквы используйте символ вопросительного знака "?".

Для поиска по шаблону множества букв используйте символ звездочка "*".

Шаблон замены одного символа ищет все термы которые соответсвуют поисковому терму с заменой одного символа. Например для поиска слова "text" или "test" вы можете использовать следующий запрос:

te?t

"*" ищет совпадения 0 или большего количества символов. Например, для поиска test, tests или tester, вы можете использовать следующий запрос:

test*

Так же данный символ можно использовать в середине терма.

te*t

 

Info
К сожалению, использование  * или ? символов в качестве начала терма запрещено

Запрос регулярных выражений

Архива поддерживает поиск регулярного выражения, совпадающие с шаблоном между косой чертой "/". Синтаксис может измениться в релизах, но в настоящее время поддерживается синтаксис описан в классе RegExp. Например, чтобы найти документы, содержащие "moat" или "boat":

/[mb]oat/

...

Архива поддерживает экранирование специальных символов, которые могут быть частью запроса. Список специальных символов предоставлен ниже:

+ - && || ! ( ) { } [ ] ^ " ~ * ? : \

Для экранирования данных символов, используйте символ \ перед специальным символом. Например для поиска (1+1):2 используйте запрос:

\(1\+1\)\:2

Поиск с помощью регулярных выражений

Поиск с помощью регулярных выражений начинается и заканчивается символом /. Для примера поиск:

 

all:/<6-9>{1}019?123?45?67/

 

будет использовать регулярное выражение "<6-9>{1}926?559?31?35".

Регулярные выражения можно построить используя следующий синтаксис:

regexp::=unionexp  
 |   
unionexp::=interexp | unionexp(union) 
 |interexp  
interexp::=concatexp & interexp(intersection)[OPTIONAL]
 |concatexp  
concatexp::=repeatexp concatexp(concatenation) 
 |repeatexp  
repeatexp::=repeatexp ?(zero or one occurrence) 
 |repeatexp *(zero or more occurrences) 
 |repeatexp +(one or more occurrences) 
 |repeatexp {n}(n occurrences) 
 |repeatexp {n,}(n or more occurrences) 
 |repeatexp {n,m}(n to m occurrences, including both) 
 |complexp  
complexp::=~ complexp(complement)[OPTIONAL]
 |charclassexp  
charclassexp::=[ charclasses ](character class) 
 |[^ charclasses ](negated character class) 
 |simpleexp  
charclasses::=charclass charclasses  
 |charclass  
charclass::=charexp - charexp(character range, including end-points) 
 |charexp  
simpleexp::=charexp  
 |.(any single character) 
 |#(the empty language)[OPTIONAL]
 |@(any string)[OPTIONAL]
 |" <Unicode string without double-quotes>  "(a string) 
 |( )(the empty string) 
 |( unionexp )(precedence override) 
 |< <identifier> >(named automaton)[OPTIONAL]
 |<n-m>(numerical interval)[OPTIONAL]
charexp::=<Unicode character>(a single non-reserved character) 
 |\ <Unicode character> (a single character) 

The productions marked [OPTIONAL] are only allowed if specified by the syntax flags passed to the RegExp constructor. The reserved characters used in the (enabled) syntax must be escaped with backslash (\) or double-quotes ("..."). (In contrast to other regexp syntaxes, this is required also in character classes.) Be aware that dash (-) has a special meaning in charclass expressions. An identifier is a string not containing right angle bracket (>) or dash (-). Numerical intervals are specified by non-negative decimal integers and include both end points, and if n and m have the same number of digits, then the conforming strings must have that length (i.e. prefixed by 0's).