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

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

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





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





வழக்கமான வெளிப்பாடுகள் என்றால் என்ன?

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





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

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



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

நீங்கள் சுவிட்சில் நெட்ஃபிக்ஸ் பெற முடியுமா?

வழக்கமான வெளிப்பாடுகள்: பொருந்தும் பாத்திரங்கள் மற்றும் வரிசைகள்

ரெஜெக்ஸ் என்பது ஒரு புதிய மொழி. ஒரு ரெஜெக்ஸ் இயந்திரம் குறிப்பிட்ட அர்த்தங்களைக் கொண்ட பல எழுத்துக்களைக் கொண்ட வடிவங்களை விளக்குகிறது. அல்பானுமெரிக் எழுத்துக்கள் போன்ற அடிப்படை எழுத்துக்கள் தங்களுக்கு பொருந்தும். ஆனால் $, *, +, {, போன்ற சிக்கலான எழுத்துக்கள் உயர்-வரிசைப் பொருத்தத்திற்கு உதவுகின்றன.





  1. நட்சத்திரம் (*): முந்தைய எழுத்து பூஜ்யம் அல்லது பல முறை பொருந்துகிறது. பாத்திரத்தின் நேரடி அர்த்தம் 'உறுப்பு n பெருக்கல்' என்பதாகும். உதாரணமாக, வழக்கமான வெளிப்பாடு என்றால் abc * , பொருந்தும் சரங்கள் ab, abc, abcc, abccc, abcccc, முதலியன வெளிப்பாடாக இருக்கும் [bc]* bc, bcbc, bcbc போன்றவற்றுடன் பொருந்தும்.
  2. மேலும் (+): முந்தைய எழுத்து ஒன்று அல்லது அதற்கு மேற்பட்ட முறை பொருந்துகிறது. இன் வேலை + தன்மை ஒத்திருக்கிறது * , ஆனால் + பாத்திரம் நிகழவில்லை என்றால் பாத்திரம் வடிவத்தைத் தவிர்க்கிறது. உதாரணத்திற்கு, abc + abc, abcc, abccc போன்றவற்றுடன் பொருந்தும் ஆனால் ab இல்லை.
  3. கேள்வி குறி (?): முந்தைய எழுத்து பூஜ்யம் அல்லது ஒரு முறை (களுடன்) பொருந்துகிறது. உதாரணமாக, முறை abc? ab மற்றும் abc உடன் மட்டுமே பொருந்தும்.
  4. குழாய் (|): பைனரியாகப் பயன்படுத்தப்படுகிறது அல்லது ஆபரேட்டர். குழாய்க்கு முன்னும் பின்னும் உள்ள எழுத்துக்களில் ஒன்று பொருந்துகிறது. உதாரணத்திற்கு, a | b a அல்லது b உடன் பொருந்தும்.
  5. புள்ளி (.): அடையாளம் தெரியாத கதாபாத்திரத்துடன் பொருந்துகிறது. உதாரணத்திற்கு, ஏ.சி aac, abc, acc, a2c, மற்றும் பலவற்றுடன் பொருந்தும்.
  6. கேரட் (^): வடிவத்தில் முதல் எழுத்து பொருந்துகிறது. உதாரணத்திற்கு, . ரா தொடங்கும் சொற்களுடன் பொருந்தும் வெளியே முயல், ரக்கூன் மற்றும் ரேண்டம் போன்றவை.
  7. டாலர் ($): வடிவத்தில் கடைசி எழுத்து பொருந்துகிறது. உதாரணத்திற்கு, ஒரு $ முடிவடையும் சொற்களுடன் பொருந்தும் ஒரு வான், டான் மற்றும் திட்டம் போன்றவை.
  8. ஹைபன் (-): எழுத்துக்களின் வரம்பை வரையறுக்கப் பயன்படுகிறது. உதாரணத்திற்கு, [0-9] அனைத்து ஒற்றை இலக்க எண் எழுத்துக்களுடன் பொருந்தும்.

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

  1. TO: தொடரின் தொடக்கத்தில் அடுத்தடுத்த எழுத்துக்கள் இருந்தால் பொருத்தத்தை வழங்கும். உதாரணத்திற்கு, தி உடன் தொடங்கும் சொற்களுடன் பொருந்தும் தி தி, அவர்கள், அவர்கள், முதலியன
  2. b: ஒரு வார்த்தையின் தொடக்கத்திலோ அல்லது முடிவிலோ எழுத்து காணப்பட்டால் பொருத்தத்தை வழங்கும். உதாரணத்திற்கு, bmad மற்றும் பைத்தியம் b போன்ற சொற்களுடன் பொருந்தும் செய்யப்பட்டது மற்றும் நாடோடி முறையே.
  3. பி: ஒரு வார்த்தையின் தொடக்கத்திலோ அல்லது முடிவிலோ எழுத்து காணப்படவில்லை எனில் பொருத்தத்தை வழங்கும்.
  4. d: சரத்தில் இருக்கும் எண் எழுத்துக்களுடன் பொருந்துகிறது. உதாரணத்திற்கு, /d* 1, 12, 1232 போன்ற எண்களுடன் பொருந்தும்.
  5. D: சரத்தில் எண் அல்லாத எழுத்துக்களுடன் பொருந்துகிறது. /டி a, b, c, f போன்றவற்றுடன் பொருந்தும்.
  6. s: உரையில் ஒரு வெளிறிய தன்மை பொருந்துகிறது.
  7. எஸ்: உரையில் ஒரு வெளிறாத எழுத்துடன் பொருந்துகிறது.
  8. in: சரத்தில் அண்டர்ஸ்கோர்கள் உள்ளிட்ட எண்ணெழுத்து எழுத்துக்கள் இருந்தால் பொருத்தத்தை வழங்கும். உதாரணத்திற்கு, இல் a, b, c, d, 1, 2, 3 போன்றவற்றுடன் பொருந்தும்.
  9. IN: சரத்தில் எண்ணெழுத்து எழுத்துக்கள் அல்லது அடிக்கோள்கள் இல்லை என்றால் பொருத்தத்தை வழங்கும்.
  10. உடன்: ஒரு சரம் முடிவில் எழுத்துக்கள் பொருந்துகிறது. உதாரணத்திற்கு, முடிவு Z முடிவடையும் சொற்களுடன் பொருந்தும் முடிவு வளைவு, மென்ட், டெண்ட் போன்றவை.

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

பைத்தானில், தி மறு உங்கள் திட்டங்களில் ரீஜெக்ஸை செயல்படுத்த தேவையான அனைத்து செயல்பாடுகளையும் பயன்பாடுகளையும் நூலகம் வழங்குகிறது. பைதான் மொழிபெயர்ப்பாளருடன் முன்பே நிறுவப்பட்டிருப்பதால் நீங்கள் பிப்பியைப் பயன்படுத்தி நூலகத்தைப் பதிவிறக்க வேண்டியதில்லை.





இறக்குமதி செய்ய மறு பைத்தானில் உள்ள நூலகம், உங்கள் ஸ்கிரிப்டில் பின்வரும் குறியீட்டைச் சேர்க்கவும்:

import re

பைத்தானில் வழக்கமான வெளிப்பாடுகளைக் கடக்கும்போது, ​​மூல எழுத்துக்களைப் பயன்படுத்துகிறோம், ஏனெனில் அவை சிறப்பு எழுத்துக்களை விளக்குவதில்லை n மற்றும் t வித்தியாசமாக

பொருத்துக()

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

re.match(pattern, string)

...எங்கே முறை வழக்கமான வெளிப்பாடு மற்றும் லேசான கயிறு தேட வேண்டிய உரை.

கீழே உள்ள குறியீட்டைப் பாருங்கள்.

import re
match = re.match(r'Word', 'This sentence contains a Word')
print(match)

தி ஆர் சரத்திற்கு முன் உள்ள எழுத்து மூல சரத்தை குறிக்கிறது.

வெளியீடு:

None

மேற்கூறிய குறியீடு திரும்பும் ஒன்றுமில்லை ஏனெனில் சொல் சரத்தின் ஆரம்பத்தில் இல்லை.

ஒரு பொருத்தம் கண்டறியப்பட்டால், நீங்கள் அதைப் பயன்படுத்தி போட்டியை அச்சிடலாம் குழு() ரீஜெக்ஸ் பொருளுக்கு சொந்தமான முறை.

import re
match = re.match(r'Word', 'Word is hard to read')
print(match.group(0))

வெளியீடு:

Word

தி மறு தேடல் () முறை ஒத்த வாதங்களை re.match () எடுத்துக்கொள்கிறது. போட்டி () சரத்தின் தொடக்கத்தில் இருக்கும் போட்டிகளை மட்டுமே அளிக்கிறது. தேடல் () ஸ்ட்ரிங்கில் உள்ள எந்த இன்டெக்ஸிலும் காணப்படும் பொருத்தங்களை திருப்பித் தரும்.

import re
match = re.search(r'Word', 'This sentence contains a Word. Word is hard to read.')
print(match.group(0))

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

Word

FindAll ()

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

import re
match = re.search(r'Word', 'This sentence contains a Word. Word is hard to read.')
for elem in match:
print(elem)

ஒரு regex பொருளைத் திருப்பித் தருவதற்குப் பதிலாக, findall () செயல்பாடு அனைத்துப் போட்டிகளின் பட்டியலையும் அளிக்கிறது. A ஐப் பயன்படுத்தி பட்டியல் மூலம் நீங்கள் மீண்டும் செய்யலாம் பைத்தானில் வளையத்திற்காக .

பிளவு ()

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

import re
split = re.split(r'and', 'This word and that and this are different.')
print(split)

வெளியீடு:

['This word', 'that', 'this are different.']

துணை ()

தி துணை () முறை ஒரு இடத்தில் ஒரு குறிப்பிட்ட வார்த்தையை மாற்ற ஒரு பயனரை அனுமதிக்கிறது. இது பின்வரும் வாதங்களை எடுக்கும்.

re.sub(pattern, replacement, string)

இந்த குறியீட்டுத் துணுக்குக் கருதுங்கள்:

import re
result = re.sub(r'and', 'or', 'Dave and Harry must be punished.')
print(result)

வெளியீடு:

Dave or Harry must be punished.

தொகுக்க ()

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

import re
pattern = re.compile('Python')
match = pattern.findall('Python is a great language for writing scripts. Python is easy to learn.')
print(match)

இந்த செயல்பாடு முதன்மையாக வள-தீவிரமான மற்றும் இயக்க நிறைய நேரம் தேவைப்படும் வடிவங்களைச் சேமிக்கப் பயன்படுகிறது. வடிவத்தை ஒரு பொருளாகத் தொகுத்து சேமிப்பது இந்தப் பிரச்சினையைத் தீர்க்கிறது.

பைத்தானுடன் ரெஜெக்ஸின் சக்தியைப் பயன்படுத்துங்கள்

நீங்கள் உரை கோப்புகள் மற்றும் வெளியீட்டில் பணிபுரியும் போது, ​​ரெஜெக்ஸ் உங்கள் வசம் இருக்கும் ஒரு சிறந்த கருவியாகும். ஆவணத்தில் குறிப்பிட்ட வடிவங்களை வடிகட்ட அல்லது மாற்ற சில குறியீடுகளை நீங்கள் விரைவாக எழுதலாம்.

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

பகிர் பகிர் ட்வீட் மின்னஞ்சல் பைட்டிங் ரெஜெக்ஸ் ஏமாற்றுத் தாள் வளரும் புரோகிராமர்களுக்கானது

பைதான் வழக்கமான வெளிப்பாடுகளின் பட்டியலைப் பயன்படுத்தவும், இதன்மூலம் இந்த பல்துறை நிரலாக்க மொழியைப் பயன்படுத்துவதில் நீங்கள் சிறந்து விளங்கலாம்.

அடுத்து படிக்கவும்
தொடர்புடைய தலைப்புகள்
  • நிரலாக்க
  • நிரலாக்க
  • பைதான்
எழுத்தாளர் பற்றி தீபேஷ் சர்மா(79 கட்டுரைகள் வெளியிடப்பட்டன)

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

தீபேஷ் சர்மாவின் மேலும்

எங்கள் செய்திமடலுக்கு குழுசேரவும்

தொழில்நுட்ப குறிப்புகள், மதிப்புரைகள், இலவச மின் புத்தகங்கள் மற்றும் பிரத்யேக ஒப்பந்தங்களுக்கு எங்கள் செய்திமடலில் சேரவும்!

குழுசேர இங்கே சொடுக்கவும்