Python регуляр ифодаларида сўз чегаралари
'\\b' командаси ёрдамида
сўз чегарасига мурожаат қилиш мумкин,
'\B' ёки '\\B' командаси
ёрдамида эса сўз чегарасига мурожаат
қилинмайди. Эътибор қаранг, Python да
сўз чегараларини аниқлашда қатъий
икки таги слэш ёрдамида экранизация
ишлайди, ҳолбуки бошқа командалар учун
бир таги слэш ишлатилиши мумкин. Келинг,
ушбу командаларнинг ишини мисолларда
кўрамиз.
Мисол
Келинг, ҳар бир сўзни '!' белгисига
ўраб чиқайлик:
txt = 'aaa aaa aaa'
print(re.sub('\\b', '!', txt))
Кодни ишга тушириш натижаси:
'!aaa! !aaa! !aaa!'
Мисол
Келинг, ҳарфлар ўртасига '!' белгисини
қўшайлик:
txt = 'aaa aaa aaa'
print(re.sub('\\B', '!', txt))
Кодни ишга тушириш натижаси:
'a!a!a a!a!a a!a!a'
Амалий машқлар
Берилган сатр:
txt = 'abc def xyz'
Ушбу сатрдан куйидаги сатрни ҳосил қиладиган регуляр ифодани ёзинг:
'#abc# #def# #xyz#'
Берилган сатр:
txt = 'abc def xyz'
Ушбу сатрдан куйидаги сатрни ҳосил қиладиган регуляр ифодани ёзинг:
'a+b+c d+e+f x+y+z'