Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования для UnixΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 70

Автор Π Π΅ΠΉΠΌΠΎΠ½Π΄ Π­Ρ€ΠΈΠΊ Π‘Ρ‚ΠΈΠ²Π΅Π½

РСгулярныС выраТСния ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π»ΠΈΠ±ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ со строками. ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ срСдством для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгулярными выраТСниями являСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° grep(1), Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСправляСт со стандартного Π²Π²ΠΎΠ΄Π° Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ. Π€ΠΎΡ€ΠΌΠ° записи рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΊΡ€Π°Ρ‚ΠΊΠΎ прСдставлСна Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 8.1.

БущСствуСт большоС количСство второстСпСнных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² записи рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

1. ВыраТСния-маски. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ соглашСний ΠΏΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ символов-шаблонов (wildcard), использовавшийся Π² Ρ€Π°Π½Π½ΠΈΡ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… Unix для сопоставлСния ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ². БущСствуСт всСго 3 символа-шаблона: * β€” соотвСтствуСт любой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов (ΠΊΠ°ΠΊ . * Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…); ? β€” соотвСтствуСт Π»ΡŽΠ±ΠΎΠΌΡƒ Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠΌΡƒ символу (ΠΊΠ°ΠΊ . Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…); [. . . ] β€” соотвСтствуСт классу символов ΠΊΠ°ΠΊ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… (csh, bash, zsh) ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ шаблон {} для Π²Ρ‹Π±ΠΎΡ€Π° подстроки. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ x{a,b}c соотвСтствуСт строкам хас ΠΈΠ»ΠΈ xbc, Π½ΠΎ Π½Π΅ хс. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… выраТСния-маски ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

2. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ рСгулярныС выраТСния. Π€ΠΎΡ€ΠΌΠ° записи, принятая Π² исходной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ grep(1) для извлСчСния ΠΈΠ· Ρ„Π°ΠΉΠ»Π° строк, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ. ВыраТСния этого Ρ‚ΠΈΠΏΠ° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² строковом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ed(1) ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ sed(1). ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»Ρ‹ старой ΡˆΠΊΠΎΠ»Ρ‹ Unix ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Π΄Π°Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ основной, ΠΈΠ»ΠΈ "ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ", Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ²ΡˆΠΈΠ΅ΡΡ с Π±ΠΎΠ»Π΅Π΅ соврСмСнными инструмСнтами, склонны ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, которая описана Π½ΠΈΠΆΠ΅.

3. Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ рСгулярныС выраТСния. Π—Π°ΠΏΠΈΡΡŒ, принятая Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ вСрсии grep, egrep(1) для извлСчСния ΠΈΠ· Ρ„Π°ΠΉΠ»Π° строк, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ. РСгулярныС выраТСния Π² Lex ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Emacs вСсьма Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ egrep-разновидности.

Π’Π°Π±Π»ΠΈΡ†Π° 8.1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

РСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ строка

"Ρ….Ρƒ"

x, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт любой символ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρƒ

"Ρ…\.Ρƒ"

Ρ…, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Ρ‚ΠΎΡ‡ΠΊΠ° с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρƒ

"xz?y"

Ρ…, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа z с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Ρƒ, Ρ‚.Π΅. "Ρ…Ρƒ" ΠΈΠ»ΠΈ "xzy", Π½ΠΎ Π½Π΅ "xz" ΠΈΠ»ΠΈ "xdy"

"xz*y"

Ρ…, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт любоС количСство символов z, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ слС-Π΄ΡƒΠ΅Ρ‚Ρƒ,Ρ‚.Π΅. "Ρ…Ρƒ" ΠΈΠ»ΠΈ "xzy" ΠΈΠ»ΠΈ "xzzzy",HOΠ½Π΅ "xz" ΠΈΠ»ΠΈ "xdy"

"xz+y"

X Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько экзСмпляров символа z, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ слСдуСт Ρƒ, Ρ‚.Π΅. "xzy" ΠΈΠ»ΠΈ "xzzy",HOHe "Ρ…Ρƒ", "xz" ΠΈΠ»ΠΈ "xdy"

"stxyz]t"

s, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт любой ΠΈΠ· символов Ρ…, Ρƒ ΠΈΠ»ΠΈ z, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт t, Ρ‚.Π΅. "sxt", "syt" ΠΈΠ»ΠΈ "szt",HOHe "st" ΠΈΠ»ΠΈ "sat"

"a[x0-9]b"

Π°, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Π»ΠΈΠ±ΠΎ Ρ…, Π»ΠΈΠ±ΠΎ символ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 0 - 9, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт Π¬, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, "axb", "аОΠͺ" ΠΈΠ»ΠΈ "Π°4Π¬",Π½ΠΎΠ½Π΅ "ab" ΠΈΠ»ΠΈ "aab"

Β»s[

A

xyz] t"

s, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт любой символ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ…, Ρƒ ΠΈΠ»ΠΈ z, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт t, Ρ‚.Π΅. "sdt" ΠΈΠ»ΠΈ "set", Π½ΠΎ Π½Π΅ "sxt", "syt" ΠΈΠ»ΠΈ "szt"

"S [

A

x0-9] t"

s, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт любой символ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ… ΠΈΠ»ΠΈ символа Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 0 - 9, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт t, Ρ‚.Π΅. "sit" ΠΈΠ»ΠΈ " smt", Π½ΠΎ Π½Π΅ " sxt", " s 01" ΠΈΠ»ΠΈ "s4t"

Ρ… Π² Π½Π°Ρ‡Π°Π»Π΅ строки, Ρ‚.Π΅. "xzy" ΠΈΠ»ΠΈ "Ρ…Π³Π³Ρƒ",Π½ΠΎΠ½Π΅ "yzy" ΠΈΠ»ΠΈ "ΡƒΡ…Ρƒ"

"x$"

Ρ… Π² ΠΊΠΎΠ½Ρ†Π΅ строки, Ρ‚.Π΅. "yzx" ΠΈΠ»ΠΈ "ΡƒΡ…", Π½ΠΎ Π½Π΅ "yxz" ΠΈΠ»ΠΈ " zxy"

4. РСгулярныС выраТСния языка Perl. Π€ΠΎΡ€ΠΌΠ° записи, принятая Π² regexp-функциях языков Perl ΠΈ Python. ВыраТСния этого Ρ‚ΠΈΠΏΠ° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с egrep-Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ.

ПослС рассмотрСния основных ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 8.2 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° сводка стандартных шаблонов для рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ-масок, поэтому запись "для всСх" ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π—Ρ‚ΠΈΠΏΠ°: Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ/Emacs ΠΈ Perl/Python.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ POSIX для рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ [[ilower;; ] ] ΠΈ [ [ :digit: ] ]. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ спСцифичСскиС срСдства ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ символы-ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, Π½Π΅ описанныС здСсь. Однако для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² достаточно.

Π’Π°Π±Π»ΠΈΡ†Π° 8.2. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с рСгулярными выраТСниями

Бимвол-шаблон

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ

Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ строка

\

Π²ΠΎ всСх

Начало СвсарС-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, слСдуСт Π»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π½Π°ΠΊ ΠΊΠ°ΠΊ шаблон. ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π±ΡƒΠΊΠ²Ρ‹ ΠΈΠ»ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами Π² зависимости ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π²ΠΎ всСх

Π›ΡŽΠ±ΠΎΠΉ символ

Π²ΠΎ всСх

Начало строки

$

Π²ΠΎ всСх

ΠšΠΎΠ½Π΅Ρ† строки

[...]

Π²ΠΎ всСх

Π›ΡŽΠ±ΠΎΠΉ ΠΈΠ· символов, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² скобках

Π“.. β– ]

Π²ΠΎ всСх

Π›ΡŽΠ±Ρ‹Π΅ символы,

ΠΊΡ€ΠΎΠΌΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ…

Π² скобках

*

Π²ΠΎ всСх

Π›ΡŽΠ±ΠΎΠ΅ количСство экзСмпляров ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта

?

egrep/Emacs, Perl/Python

Ни ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΎΠ΄ΠΈΠ½ экзСмпляр ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта

+

egrep/Emacs, Perl/Python

Один ΠΈΠ»ΠΈ нСсколько экзСмпляров ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта

{ΠΏ}

egrep,

Π’ точности ΠΏ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта. НС поддСрТиваСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ старыми regexp-срСдствами

Perl/Python; ΠΊΠ°ΠΊ \ {n\} Π² Emacs

{ΠΏ,}

egrep,

ΠΏ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта. НС поддСрТиваСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ старыми regexp-срСдствами

Perl/Python; ΠΊΠ°ΠΊ \ {n, \} Π² Emacs

{ш,п}

egrep,

ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ ш ΠΈ максимум ΠΏ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта. НС поддСрТиваСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ старыми regexp-срСдствами

Perl/Python; ΠΊΠ°ΠΊ \{m,n\} Π² Emacs

1

egrep,

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ слСва ΠΈΠ»ΠΈ справа. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ

Perl/Python; ΠΊΠ°ΠΊ \ | Π² Emacs