Инструменты пользователя

Инструменты сайта


регулярные_выражения

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
регулярные_выражения [2012/02/15 13:57]
val
регулярные_выражения [2017/04/04 13:30] (текущий)
val [Регулярные выражения]
Строка 1: Строка 1:
 ====== Регулярные выражения ====== ====== Регулярные выражения ======
 +
 +  * [[https://​youtu.be/​BhbDsKetNn8|Видео:​ Про регулярные выражения]]
  
 <​code>​ <​code>​
 $ man re_format $ man re_format
 +
 +$ man regex
 </​code>​ </​code>​
  
-[[http://​ru.wikipedia.org/​wiki/​Регулярное_выражение]] +  * [[http://​ru.wikipedia.org/​wiki/​Регулярное_выражение|Регулярное ​выражение]] 
- +  ​* ​[[http://​www.ibm.com/​developerworks/​ru/​library/​l-regexp_1/​|Секреты регулярных выражений]] 
-[[http://​www.ibm.com/​developerworks/​ru/​library/​l-regexp_1/​]]+  * [[Команды фильтры#​grep]]
  
 ===== Символы базовых регулярных выражений ===== ===== Символы базовых регулярных выражений =====
- 
-==== Звездочка -- * -- ==== 
-Означает любое количество символа в строке,​ предшествующего "​звездочке",​ в том числе и нулевое число символов. 
- 
-==== Точка -- . -- ==== 
- ​Означает не менее одного любого символа 
  
 ==== Символ -- ^ -- ====  ==== Символ -- ^ -- ==== 
Строка 40: Строка 38:
 Служит для экранирования специальных символов,​ это означает,​ что экранированные символы должны интерпретироваться буквально,​ т.е. как простые символы (в некоторых случаях наоборот). Служит для экранирования специальных символов,​ это означает,​ что экранированные символы должны интерпретироваться буквально,​ т.е. как простые символы (в некоторых случаях наоборот).
 <​code>​ <​code>​
-grep 'bin\/​sh' ​/etc/passwd+echo 172.16.10.254 gate.isp10.un >> /​etc/​hosts 
 + 
 +grep -r "172\.16\.1\." ​/etc
 </​code>​ </​code>​
  
Строка 50: Строка 50:
 </​code>​ </​code>​
  
-==== Экранированные "​круглые скобки"​ -- \( \) -- и классы символов ​==== +==== Звездочка -- * -- ==== 
 +Означает любое количество символа в строке,​ предшествующего "​звездочке",​ в том числе и нулевое число символов. 
 + 
 +==== Точка -- . -- ==== 
 + 
 +Означает один любой символ 
 + 
 +==== Экранированные "​круглые скобки"​ -- \( \) -- ==== 
 Предназначены для выделения групп регулярных выражений. Они полезны при использовании с оператором "​\|"​ и при извлечении подстроки. Предназначены для выделения групп регулярных выражений. Они полезны при использовании с оператором "​\|"​ и при извлечении подстроки.
 <​code>​ <​code>​
 $ cat catalog.txt $ cat catalog.txt
-<​code>​ 
-petrof ​   ivan 234-56-78 
-ivanof sidor    214-56-78 
 </​code><​code>​ </​code><​code>​
-$ sed 's/\([[:alnum:]]*\)[[:​space:​]]*[[:​alnum:​]]*[[:​space:​]]*\([[:alnum:]]*\)/\1 \2/' catalog.txt+petrof ivan 234-56-78 
 +ivanof sidor 214-56-78 
 +</​code><​code>​ 
 +$ sed 's/\(.*\) .* \(.*\)/\1 \2/' catalog.txt
 </​code>​ </​code>​
  
Строка 69: Строка 76:
 </​code>​ </​code>​
 ===== Классы символов POSIX ===== ===== Классы символов POSIX =====
-[:class:] это альтернативный способ указания диапазона символов. 
-<​code>​ 
-$ grep '​\<​[[:​alpha:​]]\{X\}\>'​ /​etc/​login.conf 
-        :​ignorenologin:​\ 
-#       :​ignorenologin:​\ 
-#       :​maxmemorysize-cur=128M:​\ 
-#       :​refreshperiod@:​\ 
-#       :​refreshperiod@:​\ 
  
-$ grep '​\<​[A-Za-z]\{X\}\>'​ /​etc/​login.conf +Заменяем в файле catalog.txt ​некоторые ​пробелы на TAB
-</​code>​ +
- +
-Заменяем в файле catalog.txt пробел на TAB+
 <​code>​ <​code>​
 $ sed '​s/​\(.*\)[[:​space:​]].*[[:​space:​]]\(.*\)/​\1 \2/' catalog.txt ​ $ sed '​s/​\(.*\)[[:​space:​]].*[[:​space:​]]\(.*\)/​\1 \2/' catalog.txt ​
Строка 87: Строка 83:
 ivanof 214-56-78 ivanof 214-56-78
 </​code>​ </​code>​
 +
 ===== Символы расширенных регулярных выражений ===== ===== Символы расширенных регулярных выражений =====
  
регулярные_выражения.1329299824.txt.gz · Последние изменения: 2013/05/22 13:50 (внешнее изменение)