முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 2 · பாடம் 3 இன் 4பாடத்திட்டத்தில் 7/32~10 min
தொகுதி பாடங்கள் (3/4)

பேராசை vs சோம்பேறி

இயல்புநிலை அளவீடுகள் ** பேராசை**: அவை ** முடிந்தவரை** உட்கொள்ளும் முறை செல்லுபடியாகும் போது. ஒரு குவாண்டிஃபையருக்குப் பிறகு ? ஐச் சேர்க்கிறது (*?, +?, ??, {n,m}?) உங்களுக்கு சோம்பேறி பதிப்பை வழங்குகிறது: இது சிறிதளவு பயன்படுத்துகிறது சாத்தியம்.

Code
Sample: **uno** e *due*

Greedy pattern  <.*>     matches:  **uno** e *due*   (everything)
Lazy pattern    <.*?>    matches:  **           **
                                   *           *        (4 matches with the g flag)

ஒரே மாதிரி, வித்தியாசத்தின் ஒற்றை எழுத்து (? இல் சேர்க்கப்பட்டது அளவுகோல்), முற்றிலும் மாறுபட்ட முடிவுகள்.

அது முக்கியம் போது

  • பிரித்துகளுக்கு இடையே ** உள்ளடக்கத்தை பிரித்தெடுக்க ** (HTML குறிச்சொற்கள், மேற்கோள்கள், அடைப்புக்குறிக்குள்) ** சோம்பேறி** பதிப்பு எப்போதும் சரியானது.
  • வரியின் இறுதி வரை பொருந்த, நீங்கள் பொதுவாக பேராசையை விரும்புவீர்கள் (.*).

எஞ்சினில் பேராசை vs சோம்பேறி உத்திகள்

ஒரு பேராசை கொண்ட அளவுகோல் முடிந்தவரை உரையைப் பயன்படுத்துகிறது மற்றும் கட்டாயப்படுத்தப்பட்டால் மட்டுமே பின்வாங்குகிறது. ? (lazy) ஐச் சேர்ப்பதன் மூலம், இன்ஜின் முழுமையான குறைந்தபட்ச அளவைப் பயன்படுத்துகிறது மற்றும் வடிவத்தின் அடுத்த பொருத்தத்தைத் தேடும் ஒரு நேரத்தில் ஒரு எழுத்தை மேம்படுத்துகிறது.

முயற்சி செய்து பாருங்கள்

உடற்பயிற்சி#regex.m2.l3.e1
முயற்சிகள்: 0ஏற்றுகிறது…

ஒவ்வொரு HTML குறிச்சொல்லையும் மாதிரியிலிருந்து பிரித்தெடுக்கவும் (எ.கா. `**`, `**`, `*`, `*`) சோம்பேறி பதிப்பைப் பயன்படுத்தி `.*?`.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

பேராசை <.*> முதல் குறிச்சொல்லின் தொடக்கத்திலிருந்து கடைசி குறியின் இறுதி வரை பொருந்துகிறது. சோம்பேறி <.*?> முதலில் நின்றுவிடும் > அது சந்திக்கிறது.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

மதிப்பாய்வு பயிற்சி

உடற்பயிற்சி#regex.m2.l3.e2
முயற்சிகள்: 0ஏற்றுகிறது…

உரையில் உள்ள இரட்டை மேற்கோள்களுக்கு இடையே உள்ள ஒவ்வொரு சரத்தையும் பிரித்தெடுக்கவும் (எ.கா. "ciao", "mondo"). பிந்தைய மூடல்களுக்குத் தாவுவதைத் தவிர்க்க, அளவீட்டின் சோம்பேறி பதிப்பைப் பயன்படுத்தவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

".*?" முதல் இறுதி இரட்டை மேற்கோளில் நிறுத்தப்படும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

கூடுதல் சவால்

உடற்பயிற்சி#regex.m2.l3.e3
முயற்சிகள்: 0ஏற்றுகிறது…

Extract all text blocks enclosed in square brackets (e.g. `[text]`), including the brackets, using a lazy quantifier so as not to merge separate blocks.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

திறந்த அடைப்புக்குறிக்கு \\[ஐப் பயன்படுத்தவும், பிறகு .*? இறுதியாக \\] மூடப்பட்ட அடைப்புக்குறிக்கு.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்