Scala Language
नियमित अभिव्यक्ति
खोज…
वाक्य - विन्यास
- re.findAllIn (s: CharSequence): मिलानकर्ता
- re.findAllMatchIn (s: प्रभार): Iterator [मिलान]
- re.findFirstIn (s: शुल्क): विकल्प [स्ट्रिंग]
- re.findFirstMatchIn (s: प्रभार): विकल्प [मिलान]
- re.findPrefixMatchIn (s: प्रभार): विकल्प [मिलान]
- re.findPrefixOf (s: CharSequence): विकल्प [स्ट्रिंग]
- re.replaceAllIn (s: चर, प्रतिकृति: मिलान => स्ट्रिंग): स्ट्रिंग
- re.replaceAllIn (s: चर, प्रतिस्थापन: स्ट्रिंग): स्ट्रिंग
- re.replaceFirstIn (s: चर, प्रतिस्थापन: स्ट्रिंग): स्ट्रिंग
- re.replaceSomeIn (s: चर, उत्तर: मैच => विकल्प [स्ट्रिंग]): स्ट्रिंग
- re.split (s: CharSequence): ऐरे [स्ट्रिंग]
नियमित अभिव्यक्ति की घोषणा
r
विधि जो मुख्य रूप से scala.collection.immutable.StringOps के माध्यम से प्रदान की जाती है, विषय स्ट्रिंग से scala.util.matching.Regex का एक उदाहरण उत्पन्न करती है। स्केला का ट्रिपल-उद्धृत स्ट्रिंग सिंटैक्स यहाँ उपयोगी है, क्योंकि आपको जावा में आने से पीछे नहीं हटना है:
val r0: Regex = """(\d{4})-(\d${2})-(\d{2})""".r // :)
val r1: Regex = "(\\d{4})-(\\d{2})-(\\d{2})".r // :(
scala.util.matching.Regex पर एक आवरण के रूप में स्काला के लिए एक मुहावरेदार नियमित अभिव्यक्ति एपीआई लागू करता java.util.regex.Pattern , और समर्थित वाक्य रचना में ही है। कहा जा रहा है, मल्टी-लाइन स्ट्रिंग शाब्दिकों के लिए स्काला का समर्थन x
ध्वज को अधिक उपयोगी बनाता है, टिप्पणियों को सक्षम करता है और पैटर्न के गोरे को अनदेखा करता है:
val dateRegex = """(?x:
(\d{4}) # year
-(\d{2}) # month
-(\d{2}) # day
)""".r
r
, def r(names: String*): Regex
का ओवरलोड संस्करण है def r(names: String*): Regex
जो आपको अपने पैटर्न कैप्चर करने के लिए समूह नामों को असाइन करने की अनुमति देता है। यह कुछ भंगुर है क्योंकि नामों को कब्जा से अलग कर दिया जाता है, और इसका उपयोग केवल तभी किया जाना चाहिए जब नियमित अभिव्यक्ति का उपयोग कई स्थानों पर किया जाएगा:
"""(\d{4})-(\d{2})-(\d{2})""".r("y", "m", "d").findFirstMatchIn(str) match {
case Some(matched) =>
val y = matched.group("y").toInt
val m = matched.group("m").toInt
val d = matched.group("d").toInt
java.time.LocalDate.of(y, m, d)
case None => ???
}
एक स्ट्रिंग में पैटर्न के मिलान को दोहराते हुए
val re = """\((.*?)\)""".r
val str = "(The)(example)(of)(repeating)(pattern)(in)(a)(single)(string)(I)(had)(some)(trouble)(with)(once)"
re.findAllMatchIn(str).map(_.group(1)).toList
res2: List[String] = List(The, example, of, repeating, pattern, in, a, single, string, I, had, some, trouble, with, once)