Skip to content

lexus27/php-regex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

php-regex (Jungle\Regex)

Установка:

composer require lexus27/php-regex

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ [V0.0.1]

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ шаблонов ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, идСя ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅(Π½Π° сСрвСрС шаблонов) ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² клиСнтских прилоТСниях.

Нам Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько шаблонов Π² 1 PCRE шаблон? ΠΏΡ€ΠΈ этом Π΄Π°ΠΆΠ΅ Π½Π΅ зная ΠΎ структурС ΠΈΡ… масок ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ…? Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏΠ°Ρ…?

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° инструмСнт сам подсчитаСт, прСдоставит ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ смСстит Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ маски ΠΈ ссылки Π½Π° Π½ΠΈΡ…, сохранит Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π³ΠΎ шаблона Π±ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ

Π‘ΠΊΠ»Π΅ΠΈΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… ΠΈ Π±ΠΎΠ»Π΅Π΅ шаболонов, Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ связи ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌ масок, для доступа ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, прСдоставит интСрфСйс для доступа ΠΊ значСниям масок Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² контСкстС ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ подшаблона, ΠΏΠΎ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ ссылкам с сохранСниСм ΠΈΡ… Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠΉ цСлостности

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ прСдоставляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»:

  • Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ масках ΠΈ ΠΈΡ… позициях Π² шаблонС

  • Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… масках

  • ДСкомпозиция шаблонов (Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ…, Π² Π²ΠΈΠ΄Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ скСтч)

    • /.../ims - Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ
    • (?ims:...) - Π‘ΠΊΠ΅Ρ‚Ρ‡ с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ
    • \w+ - Π‘ΠΊΠ΅Ρ‚Ρ‡ простой Π±Π΅Π· ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²

    Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ…, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° шаблона ΠΊΠ°ΠΊ глобального ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π³Ρ€ΡƒΠΏΠΏΡƒ для подстановки Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ шаблон(inline ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹)

Π’ прогрСссС:

  • ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ структуры шаблона
    • prepend & append для Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… /.../i -> /\A...\Z/i || /^...$/i
  • ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² Π·ΠΎΠ½Π΅ компонования шаблонов
    • БмСщСния масок ΠΈ ссылок Π½Π° Π½ΠΈΡ…
    • ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΡ‹ для ΠΈΠΌΠ΅Π½Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… масок
  • Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ колбэки для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π² контСкстС ΠΏΠΎΠ΄-шаблона
  • ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ вкладывания шаблона-Π²-шаблон ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡˆΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ подшаблона для ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΎΠΊ
    • Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π²ΠΈΠ΄Ρƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ модификациях оффсСтов ΠΈ прСфиксов ΠΈΠΌΠ΅Π½(ΠΎΠ½ΠΈ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для компонования), Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π΅ΠΌ шаблоном Π² Π΅Π³ΠΎ контСкстС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ опрСдСляли ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ запросы ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌ Π² контСкстС Ρ‚ΠΎΠ³ΠΎ шаблона со смСщСниями ΠΈ ΠΈΡ… псСвдонимами

About

Regular expression info and preprocessing toolkit

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages