Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
🔴 Advanced  ·  Lesson 30

Regular Expressions

Regex क्या है

Regular expression (regex) text match करने का एक pattern है। characters एक-एक जाँचने के बजाय, आप चाहा आकार बताते हैं — "सिर्फ़ digits", "A से शुरू", "email format" — और PHP मेल खाता text ढूँढ या बदल देती है। यह validation और search-and-replace के लिए शक्तिशाली है।

💡 Patterns delimiters के अंदर जाते हैं, आमतौर पर slashes: /pattern/। case-insensitive को बाद में i जोड़िए।

जाँचने को preg_match

<?php
  $pin = "1234";
  if (preg_match('/^\d{4}$/', $pin)) {
      echo "Valid 4-digit PIN";
  } else {
      echo "Invalid";
  }
?>
Valid 4-digit PIN

Pattern /^\d{4}$/ का मतलब: शुरू, ठीक 4 digits, अंत। preg_match 1 लौटाता है अगर पूरी string फ़िट हो — format checks के लिए बढ़िया।

आम pattern symbols

Symbolमतलब
\dकोई digit (0-9)
\wLetter, digit या underscore
.कोई एक character
+पिछले का एक या ज़्यादा
{4}पिछले के ठीक 4
^ और $string की शुरुआत और अंत

बदलने को preg_replace

<?php
  $text = "Call 98765 or 12345";
  // हर digit समूह को # से बदलें
  echo preg_replace('/\d+/', '#', $text);
?>
Call # or #

preg_replace pattern से मेल खाते हर हिस्से को नए text से बदल देता है। यहाँ digits का हर समूह # बन जाता है — text mask या साफ़ करने को काम का।

preg_match_all

सिर्फ़ पहला नहीं, हर match पाने को preg_match_all इस्तेमाल कीजिए।

<?php
  $text = "Order 12 and 34 and 56";
  preg_match_all('/\d+/', $text, $matches);
  print_r($matches[0]);
?>
Array ( [0] => 12 [1] => 34 [2] => 56 )

सारे numbers $matches[0] में इकट्ठा होते हैं। इसे तब इस्तेमाल कीजिए जब string में कई चीज़ें हों जो आप निकालना चाहें।

आम गलतियाँ

  • Delimiters भूलना। Pattern लपेटा होना चाहिए, जैसे /\d+/, सिर्फ़ \d+ नहीं।
  • ^ और $ छूटना। इनके बिना partial match पास हो जाता है; पूरी string जाँचने को दोनों जोड़िए।
  • Email के लिए regex लिखना। Email को filter_var इस्तेमाल कीजिए — ज़्यादा भरोसेमंद।
  • Special characters escape न करना। असली dot match करने को \. लिखिए, क्योंकि . का मतलब कोई भी character है।

सारांश

  • Regex text match या बदलने का pattern है।
  • preg_match जाँचता है text pattern से मेल खाता है (1/0 लौटाता है)।
  • preg_replace मेल खाता text नए से बदलता है।
  • preg_match_all हर match इकट्ठा करता है।
  • Patterns को delimiters में लपेटिए और पूरी-string जाँच को ^/$ इस्तेमाल कीजिए।

आगे, input validate कीजिए form validation से, या strings साफ़ कीजिए PHP string functions से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

PHP में regular expression क्या है?
Regular expression (regex) text match करने के लिए एक pattern है — जैसे जाँचना कि string email जैसी दिखती है, या किसी वाक्य में सारे numbers ढूँढना। PHP इन patterns के साथ preg_match और preg_replace जैसे functions इस्तेमाल करती है।
preg_match क्या लौटाता है?
preg_match pattern मिलने पर 1, न मिलने पर 0, और error पर false लौटाता है। यह जाँचने को इस्तेमाल होता है कि text किसी pattern से मेल खाता है, जैसे format validate करना।
Patterns को /.../ जैसे slashes में क्यों लपेटते हैं?
Slashes delimiters हैं जो pattern की शुरुआत और अंत चिह्नित करते हैं, जैसे /^\d+$/। closing slash के बाद कुछ भी flag हो सकता है, जैसे case-insensitive matching को i।
preg_match और preg_match_all में क्या अंतर है?
preg_match पहले match पर रुक जाता है। preg_match_all string में हर match ढूँढकर सब इकट्ठा करता है। एक से ज़्यादा result की उम्मीद हो तो "all" version इस्तेमाल कीजिए।
क्या email validate करने को regex इस्तेमाल करूँ?
ख़ास email के लिए, PHP का filter_var($email, FILTER_VALIDATE_EMAIL) हाथ से लिखे regex से ज़्यादा भरोसेमंद है। PIN code या username format जैसे सरल custom patterns के लिए regex इस्तेमाल कीजिए।
← Back to PHP Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicJSON Encode/Decode आपकी प्रगति: 30 / 50 (60%) · Lesson 31 / 50 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें