logo
CSharp_Prog_Guide

Escape-знаки

Большинство основных операторов языка регулярных выражений — это одиночные знаки без escape-знака. Escape-знак "\" (одиночная обратная косая черта) указывает модулю обработки регулярных выражений, что следующий за ним знак не является оператором. Например, звездочка (*) интерпретируется модулем обработки как квантор повторения, а звездочка, перед которой стоит знак обратной косой черты (\*), — как знак Юникода 002A.

Escape-знаки, перечисленные в следующей таблице, распознаются как в регулярных выражениях, так и в шаблонах замены.

Escape-знак

Описание

Обычные знаки

Все знаки, кроме ".", "$", "^", "{", "[", "(", "|", ")", "*", "+", "?" и "\" соответствуют сами себе.

\a

Соответствует знаку колокольчика (будильника) \u0007.

\b

Соответствует символу BACKSPACE \u0008, если находится в классе знаков []. В других случаях см. примечание после этой таблицы.

\t

Соответствует знаку табуляции \u0009.

\r

Соответствует знаку возврата каретки \u000D.

\v

Соответствует знаку вертикальной табуляции \u000B.

\f

Соответствует знаку перевода страницы \u000C.

\n

Соответствует знаку новой строки \u000A.

\e

Соответствует escape-знаку \u001B.

\040

Соответствует знаку ASCII как восьмеричному числу (до трех разрядов). Числа, начинающиеся не с нуля, представляют собой обратные ссылки, если они состоят из одной цифры или соответствуют номеру собираемой группы. Например, знак \040 соответствует пробелу.

\x20

Matches an ASCII character using hexadecimal representation (exactly two digits).

\cC

Matches an ASCII control character; for example, \cC is control-C.

\u0020

Matches a Unicode character using hexadecimal representation (exactly four digits).

Note:

The Perl 5 character escape that is used to specify Unicode is not supported by the .NET Framework. The Perl 5 character escape is of the form \x{####…}, where "####…" is a series of hexadecimal digits. Instead, use the .NET Framework character escape described in this row.

\

When followed by a character that is not recognized as an escaped character, matches that character. For example, \* is the same as \x2A.

Note:

The escaped character \b is a special case. In a regular expression, \b denotes a word boundary (between \w and \W characters) except within a [] character class, where \b refers to the backspace character. In a replacement pattern, \b always denotes a backspace.

\x20

Соответствует знаку ASCII в шестнадцатеричном представлении (строго две цифры).

\cC

Соответствует управляющему знаку ASCII. Например, \cC — CTRL+C.

\u0020

Соответствует знаку Юникода в шестнадцатеричном представлении (строго четыре цифры).

Примечание.

Escape-знак из Perl 5, который используется для указания Юникода, не поддерживается в .NET Framework. Escape-знак из Perl 5 имеет форму \x{####…}, где "####…" представляет последовательность шестнадцатеричных цифр. Вместо этого используйте escape-знак .NET Framework, описанный в этой строке.

\

Со следующим знаком, который не распознается как escape-знак, соответствует этому знаку. Например, \* совпадает с \x2A.

Примечание.

Escape-знак \b — исключение. В регулярных выражениях \b обозначает границу слова (между знаками \w и \W), за исключением случая внутри класса знаков [], где \b указывает на знак BACKSPACE. В шаблоне подстановки \b всегда означает BACKSPACE.

How to: Perform String Manipulations by Using Basic String Operations

The following example uses some of the methods discussed in the Basic String Operations topics to construct a class that performs string manipulations in a manner that might be found in a real-world application. The MailToData class stores the name and address of an individual in separate properties and provides a way to combine the City, State, and Zip fields into a single string for display to the user. Furthermore, the class allows the user to enter the city, state, and ZIP Code information as a single string; the application automatically parses the single string and enters the proper information into the corresponding property.

For simplicity, this example uses a console application with a command-line interface.

Example

using System;

class MainClass

{

static void Main(string[] args)

{

MailToData MyData = new MailToData();

Console.Write("Enter Your Name:");

MyData.Name = Console.ReadLine();

Console.Write("Enter Your Address:");

MyData.Address = Console.ReadLine();

Console.Write(

"Enter Your City, State, and ZIP Code separated by spaces:");

MyData.CityStateZip = Console.ReadLine();

Console.WriteLine("Name: {0}", MyData.Name);

Console.WriteLine("Address: {0}", MyData.Address);

Console.WriteLine("City: {0}", MyData.City);

Console.WriteLine("State: {0}", MyData.State);

Console.WriteLine("Zip: {0}", MyData.Zip);

Console.WriteLine("The following address will be used:");

Console.WriteLine(MyData.Address);

Console.WriteLine(MyData.CityStateZip);

}

}