கேள்வி: சுருங்குறித் தொடர் - POSIX நீட்டிக்கப்பட்ட சுருங்குறித் தொடர்கள் பற்றி விளக்கவும்.
பதில்: பின்சாய்வுக்கோட்டின் மூலமாக எஸ்கேப் தொடர் மெட்டா எழுத்துக்குறிகளின் பொருள், POSIX நீட்டிக்கப்பட்ட சுருங்குறித் தொடர் (ERE) தொடரியலில் சில எழுத்துக்குறிகளுக்கு எதிர்திசையில் அமைகின்றன. இந்தத் தொடரியலில், பின்சாய்வுக்கோடானது மெட்டா எழுத்துக்குறியை ஒரு குறிப்புமுறை எழுத்துக்குறியாகக் கருதப்படச் செய்கிறது. ஆகவே, எடுத்துக்காட்டுக்கு \ (\) என்பது இப்போது ( ) மற்றும் \{\} என்பது இப்போது { }. ஆகும் கூடுதலாக, \''n'' பின்னோக்குக் குறிப்புகளுக்கான ஆதரவு நீக்கப்பட்டு பின்வரும் மெட்டா எழுத்துக்குறிகள் சேர்க்கப்பட்டுள்ளன: {| class="wikitable" |- !மெட்டா எழுத்துக்குறி !விளக்கம்: |- valign="top" | ? | முன்னதாக உள்ள கூறுக்கு பூச்சியம் அல்லது ஒரு முறை பொருந்தும். எடுத்துக்காட்டுக்கு, ba? என்பது "''b'' " அல்லது "''ba'' " க்குப் பொருந்தும். |- | + | இது முன்னதாக உள்ள கூறுக்கு ஒன்று அல்லது பல முறை பொருந்தும். எடுத்துக்காட்டுக்கு, ba+ என்பது "''ba'' ", "''baa'' ", "''baaa'' " மற்றும் அது போன்றவற்றுக்குப் பொருந்தும். |- | * | இது முன்னதாக உள்ள கூறுக்கு பூச்சியம் அல்லது பல முறை பொருந்தும். எடுத்துக்காட்டுக்கு, ba* என்பது "''b'' ", "''ba'' ", "''baa'' ", "''baaa'' " மற்றும் அதுபோன்ற பலவற்றுக்குப் பொருந்தும். |- | | | | தேர்வு (மாற்று அல்லது தொகுதி சேர்ப்பு என்றும் அறியப்படுகிறது) ஆப்பரேட்டரானது, அந்த ஆப்பரேட்டருக்கு முன்பு அல்லது பின்னதாக உள்ள குறிப்புத் தொடருக்குப் பொருந்துகிறது. எடுத்துக்காட்டுக்கு, abc|def என்பது "''abc'' " அல்லது "''def'' " க்குப் பொருந்தும். |} எடுத்துக்காட்டுகள்: * [hc]+at matches "''hat'' ", "''cat'' ", "''hhat'' ", "''chat'' ", "''hcat'' ", "''ccchat'' ", and so on, but not "''at'' ". * [hc]?at என்பது "''hat'' ", "''cat'' " மற்றும் "''at'' " க்குப் பொருந்தும். * [hc]* at matches "''hat'' ", "''cat'' ", "''hhat'' ", "''chat'' ", "''hcat'' ", "''ccchat'' ", "''at'' ", and so on. * cat |dog என்பது "''cat'' " அல்லது "''dog'' " க்குப் பொருந்தும். POSIX நீட்டிக்கப்பட்ட சுருங்குறித் தொடர்களைப் பெரும்பாலும் கட்டளை வரி கொடி -E ஐச் சேர்த்து Unix பயன்பாடுகளுடன் பயன்படுத்த முடியும்.
கேள்வி: சுருங்குறித் தொடர் - POSIX எழுத்துக்குறி வகைகள் என்பது என்ன?
பதில்: எழுத்துக்குறிகளின் பல வரம்புகள் தேர்ந்தெடுக்கப்படும் மொழியைச் சார்ந்திருப்பதால் (அதாவது சில அமைப்புகளில் எழுத்துகள் ''abc...zABC...'' ''Z'' ஆகவும் பிறவற்றில் ''aAbBcC...zZ'' ஆகவும் ஒழுங்கமைக்கப்படுவதால்), POSIX தரநிலையானது எழுத்துக்குறிகளின் சில வகை அல்லது பிரிவுகளை வரையறுக்கிறது, அது பின்வரும் அட்டவணையில் காண்பிக்கப்பட்டுள்ளது: {| class="wikitable" |- ! POSIX !Perl ! ASCII !விளக்கம் |- | [:alnum:] | | [A-Za-z0-9] | எண்ணெழுத்து எழுத்துக்குறிகள் |- | [:word:] | \w | [A-Za-z0-9_] | எண்ணெழுத்து எழுத்துக்குறிகள், கூடுதலாக "_" |- | | \W | [^\w] | சொல் அல்லாத எழுத்துக்குறி |- | [:alpha:] | | [A-Za-z] | நெடுங்கணக்கு எழுத்துக்குறிகள் |- | [:blank:] | | [ \t] | ஸ்பேஸ் மற்றும் tab |- | [:cntrl:] | | [\x00-\x1F\x7F] | கட்டுப்பாட்டு எழுத்துக்குறிகள் |- | [:digit:] | \d | [0-9] | எண்கள் |- | | \D | [^\d] | எண்-அல்லாதவை |- | [:graph:] | | [\x21-\x7E] | புலப்படக்கூடிய எழுத்துக்குறிகள் |- | [:lower:] | | [a-z] | சிற்றெழுத்துகள் |- | [:print:] | | [\x20-\x7E] | புலப்படக்கூடிய எழுத்துக்குறிகள் மற்றும் இடைவெளிகள் |- | [:punct:] | | [-!"#$%&amp;'()* +,./:; | புள்ளி எழுத்துக்குறிகள் |- | [:space:] | \s | [ \t\r\n\v\f] | ஒயிட்ஸ்பேஸ் எழுத்துக்குறிகள் |- | | \S | [^\s] | ஒயிட்ஸ்பேஸ்-அல்லாத எழுத்துக்குறி |- | [:upper:] | | [A-Z] | பேரெழுத்துகள் |- | [:xdigit:] | | [A-Fa-f0-9] | ஹெக்ஸாடெசிமல் எண்கள் |} POSIX எழுத்துக்குறி வகைகளை அடைப்புக்குறிக் குறிப்புத் தொடர்களில் மட்டுமே பயன்படுத்த முடியும். எடுத்துக்காட்டுக்கு, [[:upper:]ab] என்பது பேரெழுத்துகள் மற்றும் சிற்றெழுத்துகள் "''a'' " மற்றும் "''b'' " க்குப் பொருந்தும். Perl சுருங்குறித் தொடர்களில், [:print:] என்பது [:graph:] union [:space:] ஆகியவற்றுக்குப் பொருந்தும். கூடுதலாக ஒரு POSIX அல்லாத வகை ஒன்று சில கருவிகளால் புரிந்துகொள்ளப்பட்டது, அது [:word:] ஆகும், அது வழக்கமாக [:alnum:] மற்றும் அண்டர்ஸ்கோர் என வரையறுக்கப்படுகிறது. இது, பல நிரலாக்க மொழிகளில் அடையாளங்காட்டிகளில் பயன்படுத்தப்படும் எழுத்துக்குறிகள் இவையே எனக் காட்டுகிறது. பல நிரலாக்க மொழிகளில் அடையாளங்காட்டிகளைத் தொடங்கக்கூடிய எழுத்துக்குறிகள் நிலைகளில் தோன்றக்கூடியவை போன்றதல்ல என்பதால் Vim திருத்தி, சொல் மற்றும் சொல் தலைப்பு வகைகளை (\w மற்றும் \h குறிப்புகளைப் பயன்படுத்தி) மேலும் வேறுபடுத்துகின்றது. POSIX சுருங்குறித் தொடர் தரநிலைகள் ''எழுத்துக்குறி வகைகள்'' எனக் குறிப்பவை, பிற சுருங்குறித் தொடர் பதிப்புகளில் ''POSIX எழுத்துக்குறி வகைகளை'' ஆதரிக்கும் வகைகளே ஆகும். பிற பெரும்பாலான சுருங்குறித் தொடர் வகைப் பதிப்புகளில், ''எழுத்துக்குறி வகை'' எந்த POSIX ''அடைப்புக்குறிக் குறிப்புத் தொடர்களை'' அழைக்கும் என விவரிக்கப் பயன்படுத்தப்படுகிறது.
கேள்வி: சுருங்குறித் தொடர் - Perl-வழித்தோன்றல் சுருங்குறித் தொடர்கள் பற்றி விளக்கவும்.
பதில்: பேர்ல், POSIX அடிப்படை (BRE) மற்றும் நீட்டிக்கப்பட்ட (ERE) சுருங்குறித் தொடர் தரநிலைகளைக் காட்டிலும் மிகவும் இசைவுத்தன்மையுள்ள மற்றும் உயர்ந்த தொடரியலைக் கொண்டுள்ளது. \ எழுத்துக்குறி எப்போதும் ஓர் எண்ணெழுத்து அல்லாத எழுத்துக்குறியைத் தவிர்ப்பது அதன் இசைவுத்தன்மைக்கு ஓர் எடுத்துக்காட்டாகும். மந்த அளவீடு என்ற கருத்து Perl இல் உள்ள ஆனால் POSIX-இணக்கத்தன்மையுள்ள சுருங்குறித் தொடர்களில் இல்லாத மற்றொரு செயலம்சத்திற்கு எடுத்துக்காட்டாகும் (அடுத்த பிரிவைக் காண்க). Perl இன் சக்திமிக்க குறிப்புத்தொடர் திறனின் காரணமாக பிற பல பயன்பாடுகளும் நிரலாக்க மொழிகளும் அதன் தொடரியலை ஒத்தத் தொடரியல்களைப் பின்பற்றின— எடுத்துக்காட்டுக்கு, Java (நிரலாக்க மொழி), ஜாவாஸ்கிரிப்ட், Perl இணக்கமுள்ள சுருங்குறித் தொடர்கள், Python (நிரலாக்க மொழி), Ruby (நிரலாக்க மொழி), Microsoft இன் .NET Framework மற்றும் உலகளாவிய வலைச் சங்கம் XML திட்டம் (W3C) ஆகிய அனைத்தும் Perl இன் சுருங்குறித் தொடர் தொடரியலை ஒத்தத் தொடரியல்களைப் பின்பற்றின. சில மொழிகள் மற்றும் பூஸ்ட் C++ நூலகங்கள் மற்றும் PHP போன்ற கருவிகள் பல சுருங்குறித் தொடர் வகைகளை ஆதரிக்கின்றன. Perl-வழித்தோன்றலான சுருங்குறித் தொடர் செயல்படுத்தல்கள் ஒரே மாதிரியானவை அல்ல, மேலும் அவற்றில் பெரும்பாலானவை Perl இன் அம்சங்களின் துணைத் தொகுதிகள் மட்டுமே.Perl 5.10 இல், Python, PCRE, the .NET Framework மற்றும் Java போன்றவற்றிலிருந்து பெற்ற தொடரியல் நீட்டிப்புகளை Perl பயன்படுத்தியதுடன் அதன் இந்தச் செயலாக்கம் ஒரு முழு வட்டத்திற்கு வந்தது.