Исследование Notes с # - Регулярные выражения (RegularExpression)

Во- первых, что такое регулярное выражение?
Английский Регулярное выражение, является важным понятием в области компьютерной науки, она использует математический алгоритм для решения компьютерной программы текстового поиска, согласования и другие вопросов,

Регулярное выражение язык является языком , предназначенным для работы со строками. Во многих языках обеспечивают поддержку для этого, C # является исключением, она не может помочь нам решить следующие задачи:
1. Поиск: регулярные выражения, которые мы хотим получить часть из строки

2, согласование: определение соответствия ли данная строка логики фильтра регулярного выражения

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

Пароль, введенный пользователем, чтобы определить законность ввода данных пользователя, чтобы определить законность формата почтового ящика

Во-вторых, состав регулярного выражения

Регулярное выражение является Общность и специальные символы (метасимволы стали) Text Mode состоит.

Модель описывает одну или несколько строк, которые будут согласованы при поиске тело текста.

В-третьих, основной синтаксис метасимволов

Описание символа

  . Соответствует любой символ, кроме символа новой строки

\ W совпадающие буквы, цифры, знак подчеркивания (на примере слово относится к полю, 0-9, подчеркнуты)

\ W \ ш комплемента (кроме «прописных и строчных букв, цифр 0-9, подчеркивания» снаружи)

\ S соответствует любым пробельных символов (включая символ новой строки / п, возврат каретки / г, вкладок / т, вертикальные вкладки / V, Под.стр / ж)

\ S \ s дополнение (иероглиф, кроме с определенными)

\ D число матчей (0-9)

\ D D представляет собой дополнение добавление 0-9)   

 

В регулярном выражении \ является маскирующим. * Является метасимволом Если вы хотите, чтобы представлять \ * характер, то нужно использовать \\ \ *.

 

В- четвертых, повторное описание строки
символов Описание
{N} п раз , чтобы соответствовать предыдущий символ
{п,} Соответствует предыдущего символа п раз или более чем п раз
{п, т} Соответствует предыдущего символа п в т раз
? Повторные ZeroOrOne
+ повторяется один или несколько раз
* повторяться ноль или более раз

Пример: проверка содержимого входной является юридическим номером QQ (Примечание: QQ номер 5-12 цифры)
Строка isQq1 = "тысяча двести тридцать три", isQq2 = "a1233", isQq3 = "o23456789123",

Строка regexQq = @ "^ \ D {. 5 , 12 $}" // ввод только 5-12 цифр
Console.WriteLine (isQq1 + "является юридическим номер QQ (5-12 цифр):" + Regex.lsMatch ( isQq1, regexQq));
Console.WriteLine (isQq2 + "является юридическим номер QQ (5-12 цифр):" + Regex.IsMatch (isQq2, regexQq));
Console.WriteLine (isQq3 + «является юридическим QQ Нет . (5-12 цифр): «+ Regex.lsMatch (isQq3, regexQq));

В-пятых, выберите соответствующий символ

Символ Описание
| два соответствия состояния логического «или» (или) эксплуатации.

 

Шесть, Regex

Regex класс

Regex класс для представления регулярного выражения.

В следующей таблице перечислены некоторые общие методы класса Regex:

序号 方法 & 描述
1 public bool IsMatch( string input )
指示 Regex 构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项。
2 public bool IsMatch( string input, int startat )
指示 Regex 构造函数中指定的正则表达式是否在指定的输入字符串中找到匹配项,从字符串中指定的开始位置开始。
3 public static bool IsMatch( string input, string pattern )
指示指定的正则表达式是否在指定的输入字符串中找到匹配项。
4 public MatchCollection Matches( string input )
在指定的输入字符串中搜索正则表达式的所有匹配项。
5 public string Replace( string input, string replacement )
在指定的输入字符串中,把所有匹配正则表达式模式的所有匹配的字符串替换为指定的替换字符串。
6 public string[] Split( string input )
把输入字符串分割为子字符串数组,根据在 Regex 构造函数中指定的正则表达式模式定义的位置进行分割。

Семь групп регулярных выражений

Пример: Р4 проверки адреса (например: 192.168.1.4, четыре сегмента до трех, максимальное количество каждого сегмента 255, и первый бит не равен 0)

Строка regexStrIP4 = @ "^ (((2 [0-4] \ д | 25 [0-5] |?. [01] \ d \ d) \) {3} (2 [0-4] \ д | 25 [0-5] | [10] \ d \ d)) $ "?;

Console.WriteLine ( "Пожалуйста , введите IP4 адрес:");
Строка inputStrlp4 Console.ReadLine = ();

Console.WriteLine (inputStrlp4 + "является юридический адрес IP4:" + Regex.IsMatch (inputStrlp4, regexStrIP4));

Console.WriteLine ( "Пожалуйста, введите адрес IP4:");

Строка inputStrip4Second = Console.ReadLine ();

ЕЫпе (regexStrIP4 + "является ли это законным IP4 адрес:" + Regex.IsMatch (inputStrip4Second, regexStrIP4));

 

 

IP: 0-255.0-255.0-255.0-255
2 0-4 0-9 первый случай
250-5 второй случай
0-10-90-9 третий случай

@ «В начале ^

((
(2
[0-4] \ D первый случай    
|
 25 [0-5] Второй случай
|
?? [01] \ D \ D) третий случай
\ Представляет точку.
)
{3} повторяющаяся цифра + три раза

(2 [0-4] \ д | 25 [0-5] | ?? [01] \ d \ d) последняя цифра 

)

$ End

 «;

 

 

рекомендация

отwww.cnblogs.com/AmbitionBoy/p/12008484.html
рекомендация