PHP-യിൽ Regex

വെറും $3.44 മുതൽ വിശ്വസനീയമായ SSL
പരസ്യങ്ങൾ
PHP JSON, കോൾബാക്ക് പ്രവർത്തനങ്ങൾ
PHP-യിലെ OOP: ഒരു തുടക്കക്കാരന്റെ ഗൈഡ്

എന്താണ് ഒരു റെഗുലർ എക്സ്പ്രഷൻ?

സാധാരണ പദപ്രയോഗം അടിസ്ഥാനപരമായി ആരംഭിക്കുന്നത് ഗണിതശാസ്ത്രത്തിൽ നിന്നാണ്, ഇത് ചില ഉദ്ദേശ്യങ്ങൾക്കായി പ്രതീകങ്ങളുടെ ഒരു ശ്രേണി നിർവചിക്കുന്നു. വ്യത്യസ്ത ഭാഷകൾ ഈ ഗണിതശാസ്ത്ര ആശയത്തിൽ നിന്ന് റഫറൻസുകൾ നേടുകയും പാറ്റേണുകൾ തിരയുന്നതിനും ഡാറ്റയുടെ മൂല്യനിർണ്ണയത്തിനും ഇത് പ്രയോഗിക്കുകയും ചെയ്യുന്നു. ഈ ലേഖനത്തിൽ, നിങ്ങൾ PHP-യിൽ regex പഠിക്കും.

തിരയൽ, സാധൂകരിക്കൽ മുതലായവ പോലെ പിഎച്ച്പിയിൽ റീജക്‌സിന്റെ നിരവധി ഉപയോഗ കേസുകൾ ഉണ്ട്. ഈ ലേഖനത്തിൽ, തിരയൽ പാറ്റേണുകളിലെ പതിവ് പദപ്രയോഗങ്ങളെക്കുറിച്ച് നിങ്ങൾ പഠിക്കും. നിങ്ങൾക്ക് റീജക്‌സ് മനസ്സിലാക്കാൻ കഴിഞ്ഞാൽ, നിങ്ങൾക്ക് അത് PHP-യിൽ എവിടെയും ഉപയോഗിക്കാം.

സ്ട്രിംഗുകളിൽ നിന്ന് ടെക്‌സ്‌റ്റ് തിരയുന്നതിനോ നിർദ്ദിഷ്ട പ്രതീകങ്ങളോ സ്‌ട്രിംഗുകളോ മാറ്റിസ്ഥാപിക്കുന്നതിനോ ഒരു സാധാരണ പദപ്രയോഗം ഉപയോഗിക്കാം.

ഒരു സാധാരണ പദപ്രയോഗം ഒരൊറ്റ പ്രതീകമോ ചില സങ്കീർണ്ണ പാറ്റേണുകളുടെ സംയോജനമോ ആകാം.

PHP-യിലെ റെഗുലർ എക്സ്പ്രഷന്റെ വാക്യഘടന

ഡിലിമിറ്റർ ഒരു അക്ഷരമോ അക്കമോ ബാക്ക്‌സ്ലാഷോ സ്‌പെയ്‌സോ അല്ലാത്ത ഏത് പ്രതീകമാകാം. ഫോർവേഡ്-സ്ലാഷ് (/) ആണ് ഏറ്റവും സാധാരണമായ ഡിലിമിറ്റർ, എന്നാൽ നിങ്ങളുടെ പാറ്റേണിൽ ഫോർവേഡ് സ്ലാഷുകൾ അടങ്ങിയിരിക്കുമ്പോൾ # അല്ലെങ്കിൽ ~ പോലുള്ള മറ്റ് ഡിലിമിറ്ററുകൾ തിരഞ്ഞെടുക്കുന്നത് സൗകര്യപ്രദമാണ്.

സാധാരണയായി, PHP-യിലെ റെഗുലർ എക്സ്പ്രഷൻ അടങ്ങിയിരിക്കുന്നു of മൂന്ന് ഭാഗങ്ങൾ.

  1. ഡിലിമിറ്റർ - പാറ്റേണിലെ സ്ട്രിംഗിന്റെ തുടക്കമോ അവസാനമോ പറയുന്നതായി ഇത് വ്യക്തമാക്കുന്നു. ഒരു ഡിലിമിറ്റർ ഒരു ബാക്ക്‌സ്ലാഷോ നമ്പറോ അക്ഷരമോ സ്‌പെയ്‌സോ ആകരുത്. എന്നിരുന്നാലും, ഒരു ഫോർവേഡ് സ്ലാഷ് ഒരു ഡിലിമിറ്ററായി ഉപയോഗിക്കാം. നിങ്ങൾ തിരയുന്ന പാറ്റേണുകളിൽ ഫോർവേഡിംഗ് സ്ലാഷുകൾ അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് ഡിലിമിറ്റർ ടിൽറ്റ് ~ അല്ലെങ്കിൽ ഹാഷ് # ആക്കാനാകും.
  2. മാതൃക - തിരയാനുള്ള പ്രതീകങ്ങളുടെ പാറ്റേൺ അല്ലെങ്കിൽ ക്രമം ഇത് വ്യക്തമാക്കി.
  3. മോഡിഫയറുകൾ (ഓപ്ഷണൽ) - നിങ്ങൾക്ക് പാറ്റേൺ കേസുകളുടെ പൊരുത്തപ്പെടുത്തൽ സെൻസിറ്റീവ് അല്ലെങ്കിൽ സെൻസിറ്റീവ് ആക്കാം.

ഉദാഹരണം

$exp = "/php.org/i";

PHP-യിലെ RegextFunctions

സാധാരണ എക്സ്പ്രഷനുകൾക്കായി PHP ബിൽറ്റ്-ഇൻ ഫംഗ്ഷനുകൾ നൽകുന്നു. പിഎച്ച്പിയിലെ ഏറ്റവും സാധാരണമായ റീജക്സ് ഫംഗ്ഷനുകൾ ഇവയാണ്:

  • Preg_replace() - ഇത് സ്ട്രിംഗിൽ പാറ്റേൺ സംഭവിക്കുന്നതിന്റെ എണ്ണം കണക്കാക്കുകയും എണ്ണം തിരികെ നൽകുകയും ചെയ്യുന്നു.
  • Preg_match() - സ്ട്രിംഗിൽ കാണാത്ത പാറ്റേണിന്റെ കാര്യത്തിൽ 0 നൽകുന്നു. കണ്ടെത്തിയാൽ 1.
  • Preg_match_all() - ഈ ഫംഗ്ഷൻ പാറ്റേൺ പൊരുത്തപ്പെടുന്ന മറ്റൊരു സ്ട്രിംഗ് ഉപയോഗിച്ച് സ്ട്രിംഗിനെ മാറ്റിസ്ഥാപിക്കുന്നു. നിങ്ങൾക്ക് മനസ്സിലാക്കാൻ ബുദ്ധിമുട്ടാണെങ്കിൽ അടുത്ത വിഭാഗത്തിൽ കൂടുതൽ വ്യക്തമായ ആശയം ലഭിക്കും.

PHP-യിലെ preg_match ഫംഗ്‌ഷൻ

Preg_match ഫംഗ്‌ഷൻ നൽകുന്നു ബൈനറി ഫലം. അത് ഒന്നുകിൽ 0 അല്ലെങ്കിൽ 1 ആണ്. preg_match ഫംഗ്‌ഷന്റെ ആദ്യ ആർഗ്യുമെന്റിൽ നിങ്ങൾ വ്യക്തമാക്കിയ പാറ്റേൺ സ്‌ട്രിംഗിൽ അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, അത് കണ്ടെത്തിയില്ലെങ്കിൽ 1. 0 നൽകും.

ഇനിപ്പറയുന്ന ഉദാഹരണം നോക്കുക, അതിൽ PHP എന്ന അക്ഷരങ്ങൾക്കായി ഞങ്ങൾ സ്ട്രിംഗ് തിരയുന്നു.

<?php
$str = "Visit php.org";
$pattern = "/php/i";
echo preg_match($pattern, $str); // Outputs 1
?>

PHP-യിലെ preg_match_all ഫംഗ്‌ഷൻ

സ്ട്രിംഗിൽ പാറ്റേൺ നിലവിലുണ്ടോ ഇല്ലയോ എന്ന് ഈ ഫംഗ്ഷൻ പറയുന്നില്ല. സ്ട്രിംഗിൽ ഒരു പാറ്റേൺ എത്ര തവണ ദൃശ്യമാകുന്നു എന്നതിന്റെ എണ്ണം ഇത് നൽകുന്നു. നൽകിയിരിക്കുന്ന സ്ട്രിംഗിലെ പാറ്റേണുകളുടെ ഒരു കേസ്-ഇൻസെൻസിറ്റീവ് തിരയൽ ഞങ്ങൾ നടത്തിയ ഇനിപ്പറയുന്ന ഉദാഹരണം നോക്കുക.

ഉദാഹരണം

വെറും $3.44 മുതൽ വിശ്വസനീയമായ SSL
പരസ്യങ്ങൾ
<?php
$str = "It is raining heavily. Cars are slipping outside. ";
$pattern = "/ing/i";
echo preg_match_all($pattern, $str); // Outputs 4
?>

/i മുകളിലെ ഉദാഹരണത്തിൽ, സ്ട്രിംഗ് ചെറിയ അക്ഷരത്തിലോ വലിയ അക്ഷരത്തിലോ ആയിരിക്കാമെന്ന് വ്യക്തമാക്കുക.

PHP-യിൽ preg_replace ഫംഗ്‌ഷൻ

preg_replace സ്ട്രിംഗിൽ കാണുന്ന പാറ്റേൺ മാറ്റി മറ്റ് ചില പ്രതീകങ്ങൾ ഉപയോഗിച്ച് ഫംഗ്ഷൻ ഒരു പുതിയ സ്ട്രിംഗ് നൽകുന്നു. ഈ ഫംഗ്ഷൻ മൂന്ന് പാരാമീറ്ററുകൾ സ്വീകരിക്കുന്നു. രണ്ടാമത്തെ പാരാമീറ്ററിലെ സ്ട്രിംഗിൽ തിരയാനുള്ള പാറ്റേണാണ് ആദ്യ പാരാമീറ്റർ. അവസാനമായി, മൂന്നാമത്തെ പാരാമീറ്റർ സ്ട്രിംഗിൽ കാണുന്ന പാറ്റേണിന്റെ സ്ഥാനത്ത് സ്ഥാപിക്കാനുള്ള സ്ട്രിംഗ് ആണ്.

ഇനിപ്പറയുന്ന ഉദാഹരണം നോക്കുക, അതിൽ ഞങ്ങൾ വെബ്‌സൈറ്റ് എന്ന വാക്ക് PHP.org ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു

ഉദാഹരണം

<?php
$str = "Visit Website!";
$pattern = "/Website/i";
echo preg_replace($pattern, "php.org", $str); // Outputs "Visit php.org!"
?>

റെഗുലർ എക്സ്പ്രഷൻ മോഡിഫയറുകൾ

ഇനിപ്പറയുന്ന മോഡിഫയർ വേരിയബിളുകൾ നിർവചിച്ചുകൊണ്ട് നിങ്ങൾക്ക് PHP-യിലെ regex-ന്റെ തിരയൽ സ്വഭാവം ക്രമീകരിക്കാൻ കഴിയും.

  1. I – കേസ്-ഇൻസെൻസിറ്റീവ് സെർച്ചിംഗ് നടത്താൻ ഉപയോഗിക്കുന്നു.
  2. U - utf-8 പാറ്റേണുകളുടെ ശരിയായ തിരയലിനായി.
  3. M - PHP regex-ൽ മൾട്ടി-സെർച്ചിംഗ് ചേർക്കുന്നു. ഓരോ വരിയുടെയും തുടക്കത്തിലോ അവസാനത്തിലോ തിരയുന്ന ചില പാറ്റേണുകൾ ഉണ്ട്. അതിനാൽ, ഈ പാറ്റേണുകൾ സ്ട്രിംഗിന്റെ ഓരോ വരിയുടെയും തുടക്കവും അവസാനവും നോക്കുന്നു.

PHP regex-ൽ ശ്രേണി വ്യക്തമാക്കുക

ഇനിപ്പറയുന്ന മൂന്ന് ആശയങ്ങൾ മനസ്സിലാക്കുക. ടെക്‌സ്‌റ്റ് തിരയുമ്പോഴോ മാറ്റിസ്ഥാപിക്കുമ്പോഴോ ശ്രേണി പാറ്റേണുകളിൽ ഉൾപ്പെടുത്താൻ ഇത് നിങ്ങളെ സഹായിക്കും.

  1. [abc] - സ്ട്രിംഗിലെ ഈ പ്രതീകങ്ങളിൽ നിന്ന് ഏതെങ്കിലും ഒരു പ്രതീകം കണ്ടെത്തുമെന്ന് ചതുര ബ്രാക്കറ്റുകൾ സൂചിപ്പിച്ചു.
  2. [^0-9] - ബ്രാക്കറ്റുകൾക്കുള്ളിൽ ശ്രേണിയിൽ ഇല്ലാത്ത പ്രതീകങ്ങൾക്കായി തിരയുക.
  3. [ക്സനുമ്ക്സ-ക്സനുമ്ക്സ] - 0 മുതൽ 9 വരെയുള്ള ഏതെങ്കിലും ഒരു പ്രതീകം കണ്ടെത്തുക. ഈ സാഹചര്യത്തിൽ 0 ഉം 9 ഉം ഉൾപ്പെടുന്നു.

നിങ്ങൾക്ക് PHP-യിൽ Regex ഫംഗ്‌ഷനുകളെക്കുറിച്ച് കൂടുതലറിയാൻ കഴിയും ഇവിടെ

PHP JSON, കോൾബാക്ക് പ്രവർത്തനങ്ങൾ
PHP-യിലെ OOP: ഒരു തുടക്കക്കാരന്റെ ഗൈഡ്
അടയ്ക്കുക

PHP-യെ കുറിച്ച് കാലികമായിരിക്കുക!

ഞങ്ങൾ സ്പാം ചെയ്യുന്നില്ല!

വെറും $3.44 മുതൽ വിശ്വസനീയമായ SSL
പരസ്യങ്ങൾ

en English
X
ടോപ്പ് സ്ക്രോൾ