பாஷில் ஒரு சரம் ஒரு சப்ஸ்ட்ரிங் கொண்டிருக்கிறதா என்று எப்படி சரிபார்க்க வேண்டும்

How Check If String Contains Substring Bash



கேள்வி என்னவென்றால், ஒரு சரம் பாஷில் ஒரு சப்ஸ்ட்ரிங் கொண்டிருக்கிறதா என்று எப்படி சரிபார்க்க வேண்டும். பதில்: பேட்டர்ன் மேட்ச் பயன்படுத்தவும். இது மற்றொரு கேள்விக்கு வழிவகுக்கிறது, அதாவது: பேட்டர்ன் மேட்சிங் என்றால் என்ன? சரி, ஒரு வாக்கியத்தில் ஒரு சொற்றொடர் சில குணாதிசயங்களைக் கொண்டுள்ளது. அதனால்தான் அது அதே வாக்கியத்தில் அல்லது பிற வாக்கியங்களில் உள்ள மற்ற சொற்றொடர்களில் இருந்து வேறுபடுகிறது. பண்புகளை ஒரு வடிவமாக குறியிடலாம். அந்த வகையில், ஒரு சரத்தில் ஒரு குறிப்பிட்ட சொற்றொடரை அடையாளம் காண முடியும். இந்த கட்டுரை ஒரு பெரிய சரத்தில் ஒரு குறிப்பிட்ட சப்ஸ்ட்ரிங்கை எப்படி அடையாளம் காண்பது, மற்றொரு சப்ஸ்ட்ரிங் உடன் பொருத்தப்பட்ட சப்ஸ்ட்ரிங்கை மாற்றுவது மற்றும் இன்டெக்ஸ் மூலம் ஒரு பெரிய சரத்தில் எந்த சப்ஸ்ட்ரிங்கையும் கண்டுபிடிப்பது என்பதை விளக்குகிறது. இருப்பினும், விளக்கங்களுக்குள் நுழைவதற்கு முன், பாஷில் ஒரு சரம் நிறுவப்பட்ட பல்வேறு வழிகளை ஒருவர் நினைவுபடுத்த வேண்டும்.

எஸ்கேப்பிங் ஸ்பேஸ் மூலம் சரம்

ஒவ்வொரு இடத்தையும் விண்வெளி தப்பிக்கும் வரிசையை மாற்றுவதன் மூலம் ஒரு சரம் கட்டப்படலாம், ‘’; என:







myVar= சுற்றுலா இல் எகிப்து நாட்டின் 's முன்னணி பொருளாதார தொழில்கள்.
வெளியே எறிந்தார் $ myVar

வெளியீடு:



எகிப்தில் சுற்றுலா என்பது நாட்டின் முன்னணி பொருளாதார தொழில்களில் ஒன்றாகும்.



குறிப்பு: அப்போஸ்ட்ரோபி விண்வெளி தப்பிக்கும் வரிசையையும் பயன்படுத்தியது.





ஒற்றை மேற்கோள்கள் மூலம் சரம்

புரோகிராமருக்கு ஒரு சரத்தில் எல்லா இடங்களிலிருந்தும் தப்பிக்க நேரம் இருக்கிறதா? இல்லை. எனவே, ஒரு சரத்தை வரையறுக்க இரண்டு ஒற்றை மேற்கோள்களைப் பயன்படுத்துவது நல்லது; போன்றவை:

myVar='எகிப்தில் சுற்றுலா ஒரு நாடு' 'முன்னணி பொருளாதார தொழில்கள். '

ஒற்றை மேற்கோள் சரம் எந்த தப்பிக்கும் வரிசையின் விரிவாக்கத்தை (அதன் விளைவை மாற்றுவதற்கு) அனுமதிக்காது. அதிர்ஷ்டவசமாக, இரண்டு சரங்கள் அடுத்தடுத்து குறியிடப்பட்டால், அவை ஒரு சரமாக எடுத்துக்கொள்ளப்படும். மேலே செய்தபடி, இடையில் ஒரு தப்பிக்கும் வரிசையை செருகலாம். தப்பிக்கும் வரிசை விரிவாக்கப்படும். எனவே வெளியீடு ஆகிறது:



எகிப்தில் சுற்றுலா என்பது நாட்டின் முன்னணி பொருளாதார தொழில்களில் ஒன்றாகும்.

இரட்டை மேற்கோள்களால் சரம்

இரட்டை மேற்கோள்களுடன், தப்பிக்கும் காட்சிகளும் விரிவாக்கப்படவில்லை, ஆனால் மாறிகள் விரிவாக்கப்படுகின்றன. பின்வரும் குறியீடு இதை விளக்குகிறது:

myVar= சுற்றுலா இல் எகிப்து நாட்டின் 's முன்னணி பொருளாதார தொழில்கள்.
வெளியே எறிந்தார் $ myVar

வெளியீடு:

எகிப்தில் சுற்றுலா என்பது நாட்டின் முன்னணி பொருளாதார தொழில்களில் ஒன்றாகும்.

குறிப்பு: அப்போஸ்ட்ரோபி விண்வெளி தப்பிக்கும் வரிசையையும் பயன்படுத்தியது.

இந்த கட்டுரையில், முக்கிய மேற்கோள் சரம் கருதப்படும் சரம்.

வழக்கமான வெளிப்பாடு அடிப்படைகள்

ரீஜெக்ஸ்

இந்த சரத்தை கருத்தில் கொள்ளுங்கள்:

இந்த உலகம் உண்மையில் நம் வீடு அல்ல.

உலகம் ஆர்வத்தின் துணையாக இருக்கட்டும். பின்னர், பெரிய சரம் (முழு சரம்) இலக்கு சரம் அல்லது வெறுமனே, இலக்கு என்று அழைக்கப்படுகிறது. மேற்கோள்களில் உள்ள 'உலகம்' வழக்கமான வெளிப்பாடு அல்லது வெறுமனே, ரெஜெக்ஸ் என்று அழைக்கப்படுகிறது. இந்த விஷயத்தில் உள்ளடக்கம், உலகம், ஒரு முறை.

எளிய பொருத்தம்

பின்வரும் குறியீட்டில், 'உலகம்' என்ற சொல் இலக்கில் காணப்பட்டால், அந்த வார்த்தை பொருந்தியதாக நாங்கள் கூறுவோம்.

='இந்த உலகம் உண்மையில் எங்கள் வீடு அல்ல.'
ரெக்='உலகம்'
என்றால் [[ $ str= ~$ reg ]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
வேறு
வெளியே எறிந்தார்கிடைக்கவில்லை
இரு

= ~, இது அசைன்மென்ட் ஆபரேட்டரைத் தொடர்ந்து ~, பைண்டிங் ஆபரேட்டர் என்று அழைக்கப்படுகிறது. முறை இலக்கு சரத்தில் பொருந்துமா என்பதைச் சரிபார்க்கிறது. வடிவத்துடன் தொடர்புடைய ஒரு அடி மூலக்கூறு இலக்கில் காணப்பட்டால், எதிரொலி அறிக்கை காண்பிக்கப்படும். அது கண்டுபிடிக்கப்படவில்லை என்றால், எதிரொலி அறிக்கை கண்டுபிடிக்கப்படவில்லை. இந்த குறியீட்டின் வெளியீடு:

கண்டறியப்பட்டது

வடிவமாக, உலகம், இலக்கில் காணப்படுகிறது. [[மற்றும் அதற்கு முன்]] பிறகு வரையறுக்கும் இடம் பராமரிக்கப்பட்டது என்பதை நினைவில் கொள்க.

முறை

மேற்கண்ட குறியீட்டில், மேற்கோள்களில் ‘உலகம்’ என்பது ரீஜெக்ஸ், அதே நேரத்தில் உலகமே ஒரு முறை. இது நேரடியான முறை. இருப்பினும், பெரும்பாலான வடிவங்கள் அவ்வளவு எளிதல்ல. ஒரு முறை என்பது ஒரு மூலக்கூறின் தன்மையைக் கண்டறிவதாகும். எனவே, பாஷ் முறை சில மெட்டாசாக்டர்களைப் பயன்படுத்துகிறது. ஒரு மெட்டா கேரக்டர் என்பது மற்ற கதாபாத்திரங்களைப் பற்றிய ஒரு பாத்திரம். எடுத்துக்காட்டுகளுக்கு, பாஷ் பேட்டர்ன் பின்வரும் மெட்டாசாக்டர்களைப் பயன்படுத்துகிறது:

^ $ . * +? () [] {} |

ஒரு வழக்கமான வெளிப்பாட்டை இரட்டை அடைப்புக்குறிக்குள் தட்டச்சு செய்யலாம். ஆனால் அது மேற்கோள்களாக இருக்க வேண்டியதில்லை. எனவே, இந்த விஷயத்தில், இது உண்மையில், ஒரு முறை.

எழுத்து வகுப்புகள்

சதுர அடைப்புக்குறிகள்

பின்வரும் குறியீட்டின் வெளியீடு காணப்படுகிறது, அதாவது ஒரு பொருத்தம் நடந்தது:

='பூனை அறைக்குள் வந்தது.'
என்றால் [[ $ str= ~[cbr]மணிக்கு]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

மாதிரி, [cbr] இல் பொருத்தப்பட்ட பூனை உள்ளது, இது 'c' உடன் தொடங்குகிறது, மேலும் இது தொடர்கிறது மற்றும் மணிக்கு முடிகிறது. [cbr] அதாவது, 'c' அல்லது 'b' அல்லது 'r' உடன் பொருத்து.

பின்வரும் குறியீட்டின் வெளியீடு காணப்படுகிறது, அதாவது ஒரு பொருத்தம் நடந்தது:

='மட்டை அறைக்குள் வந்தது.'
என்றால் [[ $ str= ~[cbr]மணிக்கு]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

முறை, [cbr] இல் பொருத்தப்பட்ட மட்டை உள்ளது, இது 'b' உடன் தொடங்குகிறது, மேலும் இது தொடர்கிறது மற்றும் மணிக்கு முடிகிறது. [cbr] அதாவது, 'c' அல்லது 'b' அல்லது 'r' உடன் பொருத்து.

பின்வரும் குறியீட்டின் வெளியீடு காணப்படுகிறது, அதாவது ஒரு பொருத்தம் நடந்தது:

='எலி அறைக்குள் வந்தது.'
என்றால் [[ $ str= ~[cbr]மணிக்கு]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

மாதிரி, [cbr] இல் பொருத்தப்பட்ட எலி உள்ளது, இது 'r' உடன் தொடங்குகிறது, இது தொடரும் மற்றும் முடிவடையும்.

மேலே உள்ள குறியீட்டு மாதிரிகளில், இலக்கு சரத்தில் பூனை அல்லது மட்டை அல்லது எலி இருக்கிறதா என்று புரோகிராமருக்கு தெரியாது. ஆனால், சப்ஸ்ட்ரிங் 'c' அல்லது 'b' அல்லது 'r' உடன் தொடங்குகிறது, பின்னர் தொடர்கிறது மற்றும் மணிக்கு முடிகிறது என்பதை அவர் அறிவார். ஒரு வடிவத்தில் உள்ள சதுர அடைப்புக்குறிகள், இலக்கில் உள்ள மற்றவர்களுடன் தொடர்புடைய நிலையில் ஒரு எழுத்துக்குறி மாறுபட்ட சாத்தியமான எழுத்துக்கள் பொருந்தும். எனவே, சதுர அடைப்புக்குறிகள் எழுத்துக்களின் தொகுப்பைக் கொண்டிருக்கின்றன, அவற்றில் ஒன்று துணைக்கு பொருத்தப்படுகிறது. இறுதியாக, இது பொருத்தப்பட்ட முழுமையான அடித்தளமாகும்.

கதாபாத்திரங்களின் வரம்பு

மேலே உள்ள குறியீட்டில் [cbr] என்பது ஒரு வகுப்பு. 'C' அல்லது 'b' அல்லது 'r' ஒற்றை எழுத்துக்கு ஒத்திருந்தாலும், பின்வருவது உடனடியாக பொருந்தவில்லை என்றால், முறை எதற்கும் பொருந்தாது.

சரி, ஒரு வகுப்பை உருவாக்கும் சில வரம்புகள் உள்ளன. உதாரணமாக, 0 முதல் 9 இலக்கங்கள் வகுப்பை உருவாக்குகின்றன, [0-9] 0 மற்றும் 9 சேர்க்கப்பட்டுள்ளது. சிறிய எழுத்து 'a' முதல் 'z' வர்க்கத்தை 'a' மற்றும் 'z' சேர்த்து வகுப்பை உருவாக்குகிறது. பெரிய எழுத்து ‘A’ முதல் ‘Z’ வர்க்கம் [A-Z] ‘A’ மற்றும் ‘Z’ சேர்க்கப்பட்டுள்ளது. ஒரு வகுப்பிலிருந்து, சரத்தின் ஒரு எழுத்துக்குப் பொருந்தக்கூடிய எழுத்துக்களில் இதுவும் ஒன்றாகும்.

பின்வரும் குறியீடு ஒரு பொருத்தத்தை உருவாக்குகிறது:

என்றால் [[ 'ID8id'= ~[0-9] ]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

இந்த நேரத்தில் இலக்கு என்பது நிஜத்தில் ஒரு நேரடி சரம். 8, இது வரம்பிற்குள் சாத்தியமான எண்களில் ஒன்றாகும், [0-9], சரத்தில் 8 உடன் பொருந்துகிறது, 'ID8id'. மேலே உள்ள குறியீடு இதற்கு சமம்:

என்றால் [[ 'ID8id'= ~[0123456789] ]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

இங்கே, சாத்தியமான அனைத்து எண்களும் வடிவத்தில் எழுதப்பட்டுள்ளன, எனவே ஹைபன் இல்லை.

பின்வரும் குறியீட்டில், ஒரு பொருத்தம் பெறப்படுகிறது:

என்றால் [[ 'ID8iD'= ~[a-z] ]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

வரம்பின் சிறிய 'i', [a-z] மற்றும் இலக்கு சரத்தின் 'i', 'ID8iD' ஆகியவற்றுக்கு இடையேயான போட்டி.

நினைவில் கொள்ளுங்கள்: வரம்பு ஒரு வகுப்பு. வகுப்பு ஒரு பெரிய வடிவத்தின் ஒரு பகுதியாக இருக்கலாம். எனவே ஒரு வடிவத்தில், உரை வகுப்பிற்கு முன்னால் மற்றும்/அல்லது வகுப்பிற்குப் பிறகு இருக்கலாம். பின்வரும் குறியீடு இதை விளக்குகிறது:

என்றால் [[ 'ID8id என்பது அடையாளங்காட்டி'= ~ ஐடி[0-9]ஐடி ]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

வெளியீடு: கண்டுபிடிக்கப்பட்டது. வடிவத்திலிருந்து 'ID8id' இலக்கு சரத்தில் 'ID8id' உடன் பொருந்துகிறது.

புறக்கணிப்பு

பின்வரும் குறியீட்டிலிருந்து பொருத்தம் பெறப்படவில்லை:

என்றால் [[ '0123456789101112'= ~[0-9] ]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
வேறு
வெளியே எறிந்தார்கிடைக்கவில்லை
இரு

வெளியீடு:

கிடைக்கவில்லை

வரம்பிற்கு முன்னால் Without இல்லாமல், சதுர அடைப்புக்குறிக்குள், வரம்பின் பூஜ்ஜியம் இலக்கு சரத்தின் முதல் பூஜ்ஜியத்துடன் பொருந்தியிருக்கும். எனவே, a ஒரு வரம்பிற்கு முன்னால் (அல்லது விருப்ப எழுத்துக்கள்) வகுப்பை மறுக்கிறது.

பின்வரும் குறியீடு ஒரு பொருத்தத்தை உருவாக்குகிறது, ஏனெனில் நிபந்தனை படிக்கிறது: இலக்கில் எங்கும் இலக்கமில்லாத எழுத்துடன் பொருந்தவும்:

என்றால் [[ 'ABCDEFGHIJ'= ~[0-9] ]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
வேறு
வெளியே எறிந்தார்கிடைக்கவில்லை
இரு

எனவே வெளியீடு: கண்டுபிடிக்கப்பட்டது.

[^0-9] என்பது இலக்கமல்லாத பொருள், எனவே [^0-9] என்பது [0-9] இன் மறுப்பு ஆகும்.

[^a-z] என்றால் சிறிய எழுத்து அல்லாத எழுத்து, எனவே [^a-z] என்பது [a-z] இன் மறுப்பு.

[^A-Z] என்றால் பெரிய எழுத்து அல்லாத எழுத்து, எனவே [^A-Z] என்பது [A-Z] இன் மறுப்பு.

பிற மறுப்புகள் உள்ளன.

வடிவத்தில் காலம் (.)

வடிவத்தில் உள்ள காலம் (.) தன்னை உட்பட எந்த கதாபாத்திரத்துடனும் பொருந்துகிறது. பின்வரும் குறியீட்டைக் கவனியுங்கள்:

என்றால் [[ '6759WXY.A3'= ~ 7.9W.Y.A]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

மற்ற எழுத்துக்கள் பொருந்துவதால் குறியீட்டின் வெளியீடு காணப்படுகிறது. ஒரு புள்ளி '5' உடன் பொருந்துகிறது; மற்றொரு புள்ளி 'X' உடன் பொருந்துகிறது; மற்றும் கடைசி புள்ளி ஒரு புள்ளியுடன் பொருந்துகிறது.

பொருந்தும் மாற்று

இலக்கு சரத்திற்கு இந்த வாக்கியத்தை கருத்தில் கொள்ளுங்கள்:

கூண்டில் பல்வேறு வகையான பறவைகள் உள்ளன.

இந்த இலக்கு புறா அல்லது மயில் அல்லது கழுகு இருக்கிறதா என்று யாராவது தெரிந்து கொள்ள விரும்பலாம். பின்வரும் குறியீட்டைப் பயன்படுத்தலாம்:

='கூண்டில் பல்வேறு வகையான மயில்கள் உள்ளன.'
என்றால் [[ $ str= ~ புறா|மயில்|கழுகு]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
வேறு
வெளியே எறிந்தார்கிடைக்கவில்லை
இரு

வெளியீடு காணப்படுகிறது. மாற்று மெட்டாச்சார்டர், | பணியமர்த்தப்பட்டுள்ளது. இரண்டு, மூன்று, நான்கு மற்றும் அதற்கு மேற்பட்ட மாற்று வழிகள் இருக்கலாம். இந்த குறியீட்டில் பொருத்தப்பட்டிருப்பது 'மயில்'.

தொகுத்தல்

பின்வரும் வடிவத்தில், அடைப்புக்குறிகள் குழு எழுத்துகளுக்குப் பயன்படுத்தப்படுகின்றன:

ஒரு மேடை (நடனக் கலைஞர்)

இங்குள்ள குழு ஒரு மேடை நடனக் கலைஞராகும், இது மெட்டாகராக்டர்களால் சூழப்பட்டுள்ளது (மற்றும்). (நடனக் கலைஞர்) ஒரு துணைக்குழு, ஒரு மேடை (நடனக் கலைஞர்) முழு குழுவாகும். பின்வருவதைக் கவனியுங்கள்:

(நடனக் கலைஞர் அருமை)

இங்கே, துணைக்குழு அல்லது துணைக்குழு, நடனக் கலைஞர் அருமை.

பொதுவான பகுதிகளைக் கொண்ட துணைக்கருவிகள்

பங்குதாரர் என்பது ஒரு வியாபாரத்தில் ஆர்வம் கொண்ட ஒரு நபர். ஒரு வலைத்தளம், stake.com உடன் ஒரு வணிகத்தை கற்பனை செய்து பாருங்கள். பின்வரும் இலக்கு சரங்களில் ஒன்று கணினியில் இருப்பதாக கற்பனை செய்து பாருங்கள்:

வலைத்தளம், stake.com வணிகத்திற்கானது .;

பங்குதாரர் இருக்கிறார் .;

பங்குதாரர் stake.com க்கு வேலை செய்கிறார் .;

இந்த சரங்களில் ஏதேனும் இலக்காக இருக்கட்டும். புரோகிராமர் stake.com அல்லது பங்குதாரர் எந்த இலக்கு சரத்தில் இருக்கிறாரா என்பதை அறிய விரும்பலாம். அவரது மாதிரி இருக்கும்:

stake.com | பங்குதாரர்

மாற்று பயன்படுத்தி.

பங்கு இரண்டு வார்த்தைகளில் இரண்டு முறை தட்டச்சு செய்யப்பட்டுள்ளது. வடிவத்தை பின்வருமாறு தட்டச்சு செய்வதன் மூலம் இதைத் தவிர்க்கலாம்:

பங்கு (.com | வைத்திருப்பவர்)

.com | வைத்திருப்பவர் இந்த வழக்கில் துணைக்குழு.

குறிப்பு: இந்த வழக்கில் மாற்று எழுத்தின் பயன்பாடு. stake.com அல்லது பங்குதாரர் இன்னும் தேடப்படுவார்கள். பின்வரும் குறியீட்டின் வெளியீடு காணப்படுகிறது:

='வலைத்தளம், stake.com வணிகத்திற்காக உள்ளது.'
என்றால் [[ $ str= ~ பங்கு(உடன்|வைத்திருப்பவர்) ]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

இங்கே பொருத்தப்பட்ட அடி மூலக்கூறு stake.com ஆகும்.

BASH_REMATCH முன் வரையறுக்கப்பட்ட வரிசை

BASH_REMATCH என்பது ஒரு முன் வரையறுக்கப்பட்ட வரிசை. ஒரு வடிவத்தில் குழுக்கள் உள்ளன என்று வைத்துக்கொள்ளுங்கள். ஒட்டுமொத்த குழுவும் பொருந்துகிறது, இந்த வரிசையின் அட்டவணை 0 க்கான கலத்திற்குள் செல்கிறது. பொருத்தப்பட்ட முதல் துணைக்குழு, அட்டவணை 1 க்கான செல்லுக்குள் செல்கிறது; பொருந்திய இரண்டாவது துணைக்குழு, அட்டவணை 2 க்கான செல்லுக்குள் செல்கிறது, மற்றும் பல. இந்த வரிசையை எவ்வாறு பயன்படுத்துவது என்பதை பின்வரும் குறியீடு காட்டுகிறது:

='மேடை நடனக் கலைஞர் வந்துள்ளார்.'
என்றால் [[ $ str= ~ நிலை (நடனமாடுபவர்) ]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

க்கானநான்இல் $ {! BASH_REMATCH [@]};செய்
printf '$ {BASH_REMATCH [i]}, '
முடிந்தது
வெளியே எறிந்தார்

வெளியீடு:

கண்டறியப்பட்டது
மேடை நடனக் கலைஞர், நடனக் கலைஞர்,

முழு குழுவும் மேடை நடனக் கலைஞர்கள். ஒரே ஒரு துணைக்குழு உள்ளது, இது நடனக் கலைஞர்.

குறிப்பு: வடிவத்தில் உள்ள இடம் தப்பியது.

மேல்/கீழ் வழக்கு சுதந்திரப் பொருத்தம்

பொருத்துதல், மேலே விளக்கப்பட்டுள்ளபடி, வழக்கு உணர்திறன் கொண்டது. வழக்கிலிருந்து சுயாதீனமாக பொருத்த முடியும். இது பின்வரும் குறியீட்டில் விளக்கப்பட்டுள்ளது:

கடைகள் -snocasematch

='நாங்கள் நல்ல இசையை விரும்புகிறோம்.'
என்றால் [[ $ str= ~ கூட்]];பிறகு
வெளியே எறிந்தார்கண்டறியப்பட்டது
இரு

கடைகள் -உnocasematch

வெளியீடு: கண்டுபிடிக்கப்பட்டது. முறை, கூட். பொருத்தப்பட்ட சப்ஸ்ட்ரிங் 'நல்லது'. குறியீடு பிரிவின் தொடக்கத்தில் nocasematch விருப்பம் எவ்வாறு இயக்கப்பட்டது மற்றும் குறியீடு பிரிவின் முடிவில் முடக்கப்பட்டது என்பதை கவனிக்கவும்.

ஒரு சரத்தின் நீளம்

ஒரு சரத்தின் நீளத்தைப் பெறுவதற்கான தொடரியல்:

$ {#PARAMETER}

உதாரணமாக:

='நாங்கள் நல்ல இசையை விரும்புகிறோம்.'
வெளியே எறிந்தார் $ {# str}

வெளியீடு: 19.

சரம் குறைப்பு

சரம் குறைப்பதற்கான தொடரியல்:

$ {PARAMETER: OFFSET}
$ {பாராமீட்டர்: ஆஃப்செட்: நீளம்}

OFFSET க்கான எண்ணிக்கை பூஜ்ஜியத்திலிருந்து தொடங்குகிறது.

பின்வரும் உதாரணம் ஒரு சரத்தின் முதல் 11 எழுத்துக்களை எப்படி அகற்றுவது என்பதைக் காட்டுகிறது:

='நான் எப்போதும் நல்ல இசைக்கு ஆடுவேன்.'
வெளியே எறிந்தார் $ {str: 10}

வெளியீடு:

நல்ல இசைக்கு ஏற்றது.

நீளத்திற்கு எண்ணுதல், அடுத்த எழுத்திலிருந்து தொடங்குகிறது. சரத்திற்குள் ஒரு பகுதியை எப்படி அனுமதிக்கலாம் என்பதை பின்வரும் குறியீடு காட்டுகிறது:

='நான் எப்போதும் நல்ல இசைக்கு ஆடுவேன்.'
வெளியே எறிந்தார் $ {str: 10: 6}

வெளியீடு:

ஆன்ஸ் டி

முதல் 11 எழுத்துக்கள் அகற்றப்பட்டன; அடுத்த 6 எழுத்துக்கள் அனுமதிக்கப்பட்டன, மீதமுள்ள எழுத்துக்கள் தானாகவே அகற்றப்படும்.

தேடல் மற்றும் மாற்று

ஒரு சப்ஸ்ட்ரிங் கண்டுபிடிக்கப்பட்டால், அதை மற்றொரு சப்ஸ்ட்ரிங் மூலம் மாற்றலாம். இதற்கான தொடரியல் வரிகள்:

எங்கே=$ {PARAMETER/PATTERN/REPLACEMENT}
எங்கே=$ {PARAMETER // PATTERN/REPLACEMENT}
எங்கே=$ {PARAMETER/PATTERN}
எங்கே=$ {PARAMETER // PATTERN}

ஒற்றை முன்னோக்கி சாய்வுடன் முதல் தொடரியலுக்கு, முதல் போட்டி மட்டுமே மாற்றப்படுகிறது. உதாரணமாக:

='அறையில் எலி, மட்டை மற்றும் பூனை உள்ளது.'
சரி=$ {str/[cbr] at/பெரிய மாடு}
வெளியே எறிந்தார் $ str
வெளியே எறிந்தார் $ ret

வெளியீடு:

அறையில் எலி, மட்டை மற்றும் பூனை உள்ளது.
அறையில் ஒரு பெரிய மாடு, ஒரு மட்டை மற்றும் ஒரு பூனை உள்ளது.

இரட்டை முன்னோக்கி சாய்வு கொண்ட இரண்டாவது தொடரியலுக்கு, போட்டியின் அனைத்து நிகழ்வுகளும் மாற்றப்படும். உதாரணமாக:

='அறையில் எலி, மட்டை மற்றும் பூனை உள்ளது.'
சரி=$ {str // [cbr] at/பெரிய மாடு}
வெளியே எறிந்தார் $ str
வெளியே எறிந்தார் $ ret

வெளியீடு:

அறையில் எலி, மட்டை மற்றும் பூனை உள்ளது.
அறையில் ஒரு பெரிய மாடு, ஒரு பெரிய மாடு மற்றும் ஒரு பெரிய மாடு உள்ளது.

ஒற்றை முன்னோக்கி சாய்வுடன் மூன்றாவது தொடரியலுக்கு, முதல் மற்றும் ஒரே போட்டிக்கு மாற்றீடு இல்லை.

மேலும், கண்டுபிடிக்கப்பட்ட முதல் சப்ஸ்ட்ரிங் நீக்கப்பட்டது. உதாரணமாக:

='அறையில் எலி, மட்டை மற்றும் பூனை உள்ளது.'
சரி=$ {str/[cbr] இல்}
வெளியே எறிந்தார் $ str
வெளியே எறிந்தார் $ ret

இரட்டை முன்னோக்கி சாய்வு கொண்ட நான்காவது தொடரியலுக்கு, அனைத்து போட்டிகளுக்கும் மாற்றீடு இல்லை. மேலும், கண்டுபிடிக்கப்பட்ட அனைத்து துணைக்கருவிகளும் நீக்கப்படும். உதாரணமாக:

='அறையில் எலி, மட்டை மற்றும் பூனை உள்ளது.'
சரி=$ {str // [cbr] at}
வெளியே எறிந்தார் $ str
வெளியே எறிந்தார் $ ret

வெளியீடு:

அறையில் எலி, மட்டை மற்றும் பூனை உள்ளது.
அறையில் ஒரு, ஏ மற்றும் ஏ உள்ளது.

முடிவுரை

பாஷில் ஒரு சரம் ஒரு சப்ஸ்ட்ரிங் இருக்கிறதா என்று சோதிக்க, பேட்டர்ன் மேட்சிங் பயன்படுத்த வேண்டும். பேட்டர்ன் மேட்ச்சிங் இரட்டை அடைப்புக்குறிக்குள் மட்டும் நடக்காது, [[. . . ]] அதன் $ {உடன், அளவுரு விரிவாக்கத்திலும் இது நடைபெறலாம். . .}. அளவுரு விரிவாக்கத்துடன், குறியீடுகள் மூலம் ஒரு துணைப்பொருளைப் பெற முடியும்.

இந்த கட்டுரையில் வழங்கப்பட்டவை, பேட்டர்ன் மேட்சிங்கில் மிக முக்கியமான புள்ளிகள். இன்னும் உள்ளன! இருப்பினும், வாசகர் அடுத்து படிக்க வேண்டியது, கோப்பு பெயர் விரிவாக்கம்.