Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
No Match

r"
"
gm

Test String

Code Generator

Generated Code

import Foundation let pattern = #"(((सदनिका(.*?)(नं|नं:)(.*?))|(((फ्लॅट|फ़्लॅट)(.*?)नंबर(.*?))|((फ्लॅट|फ़्लॅट)(.*?)(नं|नं.|क्र.|क्र)(.*?))))(\d+))"# let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines) let testString = #""" 1)&nbsp;पालिकेचे नाव:मुंबई मनपाइतर वर्णन :, इतर माहिती: सदनिका नं 313,3 रा मजला,मोराची वाडी मोहन नाईक बिल्डींग नं 1,एस आर ए को ऑप हौ सो लि., व्ही वाय दहीवलकर बुवा मार्ग,नायगाव,दादर पु मुंबई-400014.( ( C.T.S. Number : 108 pt, 109 pt, 112 pt, 238 pt, 252 pt, 255 pt, 256 pt, 257 pt, 262 pt, 263 pt, 264 pt, 264 pt, 267 pt, 718 pt ; ) ) 1)&nbsp;पालिकेचे नाव:मुंबई मनपाइतर वर्णन :, इतर माहिती: सदनिका नं 411,4 था मजला,मोराची वाडी मोहन नाईक बिल्डींग नं 1,एस आर ए को ऑप हौ सो लि.,जी डी आंबेकर मार्ग,व्ही वाय दहीवलकर बुवा मार्ग,नायगाव,दादर पु मुंबई-400014.( ( C.T.S. Number : 108 pt, 109 pt, 112 pt, 238 pt, 252 pt, 255 pt, 256 pt, 257 pt, 262 pt, 263 pt, 264 pt, 264 pt, 267 pt, 718 pt ; ) ) 1)&nbsp;पालिकेचे नाव:मुंबई मनपाइतर वर्णन :सदनिका नं: बी-1, माळा नं: बी-ब्लॉक, इमारतीचे नाव: इंपीरियल महल, ब्लॉक नं: खोदादाद सर्कल,दादर टी. टी.,मुंबई-400014, रोड नं: डॉ. आंबेडकर रोड, इतर माहिती: .( ( Survey Number : 450 ; ) ) 1)&nbsp;पालिकेचे नाव:पुणेइतर वर्णन :, इतर माहिती: विभाग क्रमांक 27.4 - गाव मौजे उंडरी,तालुका हवेली,जिल्हा पुणे येथील स. नं.31/2बी/1 आणी 2,स. नं.31/2अ/3,13,25,27,34 आणी 38,स. नं.31/2अ/10,स. नं.31/2अ/17,स. नं.31/2अ/22,स. नं.31/2अ/26,स. नं.31/2अ/32,स. नं.31/2अ/39,स. नं.32/3 ते 5,स. नं.32/6/4,6,9,10,12,13,14,18,18/1,19 आणी 22,स. नं.33,स. नं.34/1अ प्लस 1बी,स. नं.37/1बी,स. नं.40/1/1/1,स. नं.34/1अ यासी एकुण क्षेत्र 73178 चौ. मी. तसेच स. नं.31/2बी/1,स. नं.31/2बी/2,स. नं.31/2अ/2,5,6,7,8,9,12,14,15,16,17,18,19,20,21,23,24,28,29,30,35,36 आणी 37,स. नं.32/2,स. नं.32/3 ते 5,स. नं.32/6/1,2,3,7,8,15,17,20 आणी 21,स. नं.34/1बी,स. नं.34/2,स. नं.37/1अ/2 आणी स. नं.40/2/1 यासी एकुण क्षेत्र 49369 चौ. मी. असे एकुण क्षेत्र 12 हेक्टर 25.47 आर म्हणजेच 1,22,547 चौ. मी. यामिळकतीवर बांधण्यात येणा-या फेज मधील गोदरेज प्राणा या प्रकल्पामधील बिल्डिंग नंबर बी मधील तेराव्या मजल्यावरील फ्लॅट नंबर 1302 यासी क्षेत्र 65.81 चौ. मी. कारपेट व एक्सक्लुसिव्ह एरिया यासी क्षेत्र 12.86 चौ. मी. असे एकुण क्षेत्र 78.67 चौ. मी. व एक पार्कींग स्पेससह.( ( Survey Number : 31 (पार्ट), 32 (पार्ट), 33 (पार्ट), 34 (पार्ट), 37 (पार्ट) आणी 40 (पार्ट), ; ) ) 1)&nbsp;पालिकेचे नाव:मुंबई म.न.पा.इतर वर्णन :सदनिका नं: फ्लॅट नं. 1303, माळा नं: तेरावा मजला एस 5 विंग, इमारतीचे नाव: गोदरेज प्राइम, ब्लॉक नं: सहकार नगर-2 चेंबूर मुंबई-400071,, रोड नं: रोड नं. 1, इतर माहिती: क्षेत्र-68.94 चौ. मीटर कारपेट व इतर लगतचे क्षेत्र-4.45 चौ. मीटर यांसी एकूण क्षेत्र-73.39 चौ. मीटर कारपेट. सोबत विनामोबदला एक कारपार्किंग स्पेससहित.(इतर माहिती दस्तात नमुद केल्याप्रमाणे.)( ( C.T.S. Number : 52PART 53PART ; ) ) 1)&nbsp;पालिकेचे नाव:Mumbai Ma.na.pa. इतर वर्णन :सदनिका नं: फ्लॅट नं. 1403, माळा नं: चौदावा मजला एस 2 विंग, इमारतीचे नाव: गोदरेज प्राइम, ब्लॉक नं: सहकार नगर-2 चेंबूर मुंबई-400071, रोड नं: रोड नं. 1, इतर माहिती: क्षेत्र-64.43 चौ. मीटर कारपेट. सोबत विनामोबदला एक कारपार्किंग स्पेससहित.(इतर माहिती दस्तात नमुद केल्याप्रमाणे.)( ( C.T.S. Number : 52PART 53PART ; ) ) फ्लॅट क्र. जी-1 यांसी क्षेत्र 550 चौ.फुट म्हणजेच 51.12 चौ.मी. यांसी राजगुरुनगर नगरपरिषद मालमत्ता क्र. 6/821/1 यांसी वर्णन 550 चौ. फुटाचा फ्लॅट आर.सी.सी. पद्धतीचा शौचालयासह अशी निवासी सदनिका मिळकत.(करारनामा दस्त नं. 8868 1)&nbsp;पालिकेचे नाव:पुणेइतर वर्णन :, इतर माहिती: , इतर माहिती: विभाग क्रमांक 27.6 गांव मौजे उंडरी,तालुका हवेली,जिल्हा पुणे येथील स.नं. 31/2बी/1आणि 2,स.नं. 31/2अ/3,13,25,27,34 आणि 38,स.नं. 31/2 अ/10,स.नं.31/2अ/17,स.नं. 31/2अ /22,स.नं. 31/2अ/26,स.नं. 31/2अ/32,स.नं. 31/2अ/39,स.नं. 32/3 ते 5,स.नं. 32/6/4,6,9,10,12,13,14,18,18/1,19 आणि 22,स.नं. 33,स.नं. 34/1अ +1 बी,स.नं. 37/1बी,स.नं. 40/1/1/1,स.नं. 34/1अ यांसी एकूण क्षेत्र 73178 चौ.मी. तसेच स.नं. 31/2बी /1,स.नं. 31/2 बी /2,स.नं. 31/2अ/2,5,6,7,8,9,12,14,15,16,17,18,19,20,21,23,24,28,29,30,35,36,आणि 37,स.नं. 32/2,स.नं. 32/3 ते 5,स.नं. 32/6/1,2,3,7,8,15,17,20 आणि 21,स.नं. 34/1बी,स.नं. 34/2,स.नं. 37/1अ/2 आणि स.नं. 40/2/1 यांसी एकूण क्षेत्र 49369 चौ.मी. असे एकूण क्षेत्र 12 हेक्टर 25.47आर म्हणजेच 1,22,547 चौ.मी. या मिळकतीवर बांधण्यात येणा-या गोदरेज प्राणा या प्रकल्पामधील टॉवर नं ए मधील पहिल्या मजल्यावरील फ़्लॅट नंबर 112 यांसी क्षेत्र 62.14 चौ.मी. कारपेट एरिया बाल्कनीस,लेजस सहित व एक कव्हर्ड कार पर्किंग स्पेस एक्सक्लूसिव्ह वापरण्याच्या हक्कासह( ( Survey Number : 31 (पार्ट), 32 (पार्ट), 33 (पार्ट), 34 (पार्ट), 37 (पार्ट) आणी 40 (पार्ट), ; ) ) """# let stringRange = NSRange(location: 0, length: testString.utf16.count) let matches = regex.matches(in: testString, range: stringRange) var result: [[String]] = [] for match in matches { var groups: [String] = [] for rangeIndex in 1 ..< match.numberOfRanges { let nsRange = match.range(at: rangeIndex) guard !NSEqualRanges(nsRange, NSMakeRange(NSNotFound, 0)) else { continue } let string = (testString as NSString).substring(with: nsRange) groups.append(string) } if !groups.isEmpty { result.append(groups) } } print(result)

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression