ឧបករណ៍សាកល្បង regex នេះដំណើរការ pattern របស់អ្នកធៀបនឹងអត្ថបទគំរូ ហើយ highlight គ្រប់លទ្ធផលដែលត្រូវគ្នាភ្លាមៗ។ តារាងមួយនឹងបង្ហាញបញ្ជីលទ្ធផលនីមួយៗរួមជាមួយទីតាំងរបស់វា capture groups តាមលេខ និងក្រុមមានឈ្មោះ ព្រមទាំងប្រអប់ជំនួស (replace) បង្ហាញលទ្ធផលនៃ String.replace ជាមួយ references ដូចជា $1 និង $<name> ដើម្បីឱ្យអ្នកអាចកែសម្រួល find-and-replace ឱ្យបានល្អឥតខ្ចោះមុនពេលយកទៅប្រើក្នុងកូដ។
វាប្រើ JavaScript (ECMAScript) regex engine ដែលមានស្រាប់ក្នុងកម្មវិធីរុករករបស់អ្នក ដែលជាម៉ាស៊ីនតែមួយប្រើដោយ Node.js, TypeScript និងកូដ front-end ភាគច្រើន។ Flags g, i, m, s, u និង y អាចបើក/បិទបានតាមប្រអប់ធីក។ Pattern និងអត្ថបទសាកល្បងរបស់អ្នកស្ថិតនៅលើកុំព្យូទ័ររបស់អ្នកជានិច្ច ដែលធានាសុវត្ថិភាពសម្រាប់បន្ទាត់ log និងទិន្នន័យជាក់ស្តែង។
របៀបប្រើឧបករណ៍ សាកល្បង Regex
- វាយ pattern របស់អ្នកនៅចន្លោះសញ្ញា slash ដោយមិនបាច់ដាក់
/ /ឡើយ។ - ធីកលើ flags ដែលអ្នកត្រូវការ ឧទាហរណ៍ g ដើម្បីស្វែងរកលទ្ធផលត្រូវគ្នាទាំងអស់ ឬ i ដើម្បីមិនប្រកាន់អក្សរតូចធំ។
- បិទភ្ជាប់អត្ថបទដែលត្រូវសាកល្បង។ លទ្ធផលដែលត្រូវគ្នានឹងត្រូវ highlight និងរាប់ចំនួនផ្ទាល់ភ្លាមៗ។
- ពិនិត្យតារាងដើម្បីមើលតម្លៃ capture group។
- អ្នកអាចបញ្ចូលពាក្យជំនួសជាជម្រើស ដើម្បីមើលអត្ថបទដែលបានជំនួសជាមុន រួចចម្លងវាទុក។
ហេតុអ្វីប្រើ សាកល្បង Regex របស់ ToolOrca
- Highlight គ្រប់លទ្ធផលដែលត្រូវគ្នាក្នុងពេលជាក់ស្ដែង
- Capture groups តាមលេខ និងតាមឈ្មោះ
- មើលលទ្ធផល replace ជាមុនជាមួយ $1 និង $
- JavaScript flags ទាំងអស់៖ g i m s u y
- Cheat sheet និង pattern គំរូស្រាប់ៗ
- សារបញ្ជាក់កំហុសច្បាស់លាស់សម្រាប់ pattern មិនត្រឹមត្រូវ
មូលដ្ឋានគ្រឹះ Regex ក្នុងរយៈពេលមួយនាទី
Regular expression កំណត់លំនាំអត្ថបទ (pattern)។ តួអក្សរធម្មតាគឺផ្គូផ្គងនឹងតួវាផ្ទាល់ ចំណែក tokens ពិសេសផ្គូផ្គងនឹងក្រុមតួអក្សរ៖ \d ត្រូវនឹងលេខ, \w តួអក្សរពាក្យ, \s ចន្លោះទំនេរ (whitespace) និង . តួអក្សរណាមួយ។ Quantifiers បញ្ជាក់ពីចំនួន៖ + មួយ ឬច្រើន, * សូន្យ ឬច្រើន, ? មាន ឬគ្មាន និង {2,5} ចន្លោះកំណត់។
វង់ក្រចកបង្កើត capture groups ដែលអ្នកអាចយកមកប្រើឡើងវិញក្នុងការពាក្យជំនួស ហើយ ^ និង $ ជាយុថ្កាកំណត់ការផ្គូផ្គងនៅដើម និងចុងបញ្ចប់នៃអត្ថបទ ឬនៃបន្ទាត់នីមួយៗពេលប្រើ m flag។
ការជៀសវាង pattern ដែលដំណើរការយឺត
Quantifiers ត្រួតគ្នាដូចជា (a+)+ អាចបណ្តាលឱ្យកើតមាន “catastrophic backtracking” ដែលធ្វើឱ្យការស្វែងរកមិនត្រូវគ្នាចំណាយពេលយូរខ្លាំង។ គួរជ្រើសរើស character classes ជាក់លាក់ ([^"]* ជំនួសឱ្យ .*) និងប្រើ anchors។ ប្រសិនបើឧបករណ៍ដំណើរការយឺតលើ pattern ណាមួយ នោះវាក៏នឹងយឺតលើ production ដូចគ្នាដែរ។
សំណួរដែលសួរញឹកញាប់
តើឧបករណ៍សាកល្បងនេះប្រើ regex ប្រភេទណា?
ប្រើ JavaScript (ECMAScript) ដែលដំណើរការដោយកម្មវិធីរុករករបស់អ្នក។ Syntax ភាគច្រើនដូចគ្នាទៅនឹង PCRE, Python និង Java ប៉ុន្តែមុខងារមួយចំនួនដូចជា possessive quantifiers ឬ conditionals មិនមាននៅក្នុង JavaScript ទេ។
ហេតុអ្វីបានជា regex របស់ខ្ញុំរកឃើញតែលទ្ធផលដំបូងគេ?
បើគ្មាន flag g (global) ទេ JavaScript នឹងឈប់ស្វែងរកបន្ទាប់ពីរកឃើញលទ្ធផលដំបូង។ សូមធីកប្រអប់ g ដើម្បីស្វែងរកលទ្ធផលទាំងអស់។
តើខ្ញុំអាចផ្គូផ្គងសញ្ញាចុច ឬវង់ក្រចកទទេដោយរបៀបណា?
ប្រើ backslash នៅពីមុខ៖ \., \(, \[។ នៅខាងក្នុង character class តួអក្សរភាគច្រើនត្រូវបានចាត់ទុកជាតួអក្សរធម្មតា ដូច្នេះ [.] ក៏ផ្គូផ្គងនឹងសញ្ញាចុចដែរ។
តើ flag s ដំណើរការដូចម្តេច?
flag s (dotAll) អនុញ្ញាតឱ្យ . អាចផ្គូផ្គងនឹងការចុះបន្ទាត់បានផងដែរ។ បើគ្មានវាទេ . នឹងឈប់ត្រឹមចុងបន្ទាត់នីមួយៗ។
តើមាន regex សម្រាប់ផ្ទៀងផ្ទាត់អាសយដ្ឋានអ៊ីមែលដែរឬទេ?
Pattern សាមញ្ញដូចជា pattern ដែលមានស្រាប់ក្នុង preset អាចចាប់កំហុសវាយខុសបាន ប៉ុន្តែគ្មាន regex ណាអាចអនុវត្តតាមស្តង់ដារអ៊ីមែលបានទាំងស្រុងនោះទេ។ វិធីផ្ទៀងផ្ទាត់ដែលទុកចិត្តបានតែមួយគត់ គឺការផ្ញើអ៊ីមែលបញ្ជាក់។