الخاصية MatchResult.range
في لغة Kotlin
تعيد الخاصية range
كائنًا من النوع MatchGroupCollection
يضم مجموعة المُطابقات الموجودة في التعبير النمطي. حجم تلك المجموعة يساوي groupCount + 1،
حيثgroupCount
هو عدد المجموعات المطابَقة في التعبير النمطي. تلك المجموعات مُفهرسة من 1 حتى groupCount،
والمجموعة ذات الفهرس 0
توافق المطابقة الكلية.
البنية العامة
abstract val groups: MatchGroupCollection
القيمة المُعادة
كائن من النوع MatchGroupCollection.
أمثلة
استخدام الخاصية range
في الشيفرة التالية ننشِئ تعبيرًا نمطيًا باسم regex
باستخدام التابع Regex()
، ثم نعرّف سلسلة نصية باسم str
، ثم نستخرج من str
مجموعات النتائج عبر استدعاء الدالة matchEntire()
، ثم نستخدم الخاصية range
لاستخراج مجموعات مجموعة المُطابقات الموجودة في str
، ثم نطبع الناتج:
fun main(args: Array<String>) {
val pattern = Regex("[a-zA-Z]+([0-9]+)[a-zA-Z]+([0-9]+)[a-zA-Z]+")
val str = "ABcDEFG12345DiFKGLSG938SDsFSd"
val res = pattern.matchEntire(str)?.groups
print(res)
}
المُخرجات:
[MatchGroup(value=ABcDEFG12345DiFKGLSG938SDsFSd, range=0..28), MatchGroup(value=12345, range=7..11), MatchGroup(value=938, range=20..22)]
أنظر أيضًا
- الخاصية
MatchResult.destructured
: تعيد نسخة من الصنفMatchResult.Destructured،
والتي توفّر مركبات لتفكيك قيم المجموعة المُطابقة. المركبة الأولى تقابل قيمة المجموعة المُطابقَة الأولى، والمركبة الثانية تقابل الثانية، وهكذا دواليك. - الخاصية
MatchResult.groupValues
: تعيد لائحة تضم مجموعة المُطابقات للتعبير النمطي. حجم تلك اللائحة يساويgroupCount + 1،
حيثgroupCount
هو عدد المجموعات المطابَقة في التعبير النمطي. تلك المجموعات مُفهرسة من 1 حتىgroupCount،
والمجموعة ذات الفهرس0
توافق المطابقة الكلية.