-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathduzenli-ifadeler.html
151 lines (142 loc) · 7.95 KB
/
duzenli-ifadeler.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE html>
<html lang="en" prefix="og: http://ogp.me/ns#">
<head>
<link href="http://gmpg.org/xfn/11" rel="profile">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<!-- Metadata -->
<meta name="description" content="3D Modelleme, Animasyon, Render, Vektör - Raster Grafik İşleme ve Python ile Programlama konularına meraklı Açık Kaynak Hayranı bir Makine Mühendisi">
<meta property="og:description" content="3D Modelleme, Animasyon, Render, Vektör - Raster Grafik İşleme ve Python ile Programlama konularına meraklı Açık Kaynak Hayranı bir Makine Mühendisi">
<meta property="og:title" content="Düzenli İfadeler" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/duzenli-ifadeler.html" />
<meta property="og:image" content="/images/avatar.png" />
<!-- Enable responsiveness on mobile devices-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<title>mhalil - Programlama ve 3D</title>
<!-- CSS -->
<link href="//fonts.googleapis.com/" rel="dns-prefetch">
<link href="//fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic|Abril+Fatface|PT+Sans:400,400italic,700&subset=latin,latin-ext" rel="stylesheet">
<link rel="stylesheet" href="/theme/css/poole.css" />
<link rel="stylesheet" href="/theme/css/hyde.css" />
<link rel="stylesheet" href="/theme/css/syntax.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/fork-awesome@1.1.7/css/fork-awesome.min.css" crossorigin="anonymous">
<!-- Feeds -->
<!-- Analytics -->
</head>
<body class="theme-base-0c">
<div class="sidebar">
<div class="container sidebar-sticky">
<div class="sidebar-about">
<h1>
<a href="/">
<img class="profile-picture" src="/images/avatar.png">
mhalil
</a>
</h1>
<p class="lead"></p>
<p class="lead">3D Modelleme, Animasyon, Render, Vektör - Raster Grafik İşleme ve Python ile Programlama konularına meraklı Açık Kaynak Hayranı bir Makine Mühendisi </p>
<p></p>
</div>
<ul class="sidebar-nav">
<li><a href="/archives.html">Arşiv</a></li>
<li><a href="/categories.html">Kategoriler</a></li>
<li><a href="/tags.html">Etiketler</a></li>
<li><a href="/pages/blender.html">Blender</a></li>
<li><a href="/pages/freecad.html">FreeCAD</a></li>
<li><a href="/pages/librecad.html">LibreCAD</a></li>
<li><a href="/pages/python.html">Python</a></li>
<li><a href="/pages/solvespace.html">Solvespace</a></li>
</ul>
<nav class="sidebar-social">
<a class="sidebar-social-item" href="https://twitter.com/AcikKaynakci" target="_blank">
<i class="fa fa-twitter"></i>
</a>
<a class="sidebar-social-item" href="https://www.artstation.com/mustafahalil" target="_blank">
<i class="fa fa-artstation"></i>
</a>
<a class="sidebar-social-item" href="https://github.com/mhalil" target="_blank">
<i class="fa fa-github"></i>
</a>
<a class="sidebar-social-item" href="/">
<i class="fa fa-rss"></i>
</a>
</nav>
<p class="sidebar-footer">İlmin zekatı %100'dür. Bildiklerizi paylaşın.</p>
</div>
</div> <div class="content container">
<div class="post">
<h1 class="post-title">Düzenli İfadeler</h1>
<span class="post-date">Cum 01 Eylül 2023</span>
<h1>Düzenli İfadeler (Regular Expressions - Regex )</h1>
<p>Aşağıda detaylı olarak anlatılan Düzenli İfade konusunun Özet Tablosuna (Cheat Sheet) <a href="duzenli-ifadeler-ozet-tablo.html">BURADAN</a> erişebilirsiniz.</p>
<p><img alt="regex" src="../../images/python/regex.png"></p>
<h3>Düzenli İfadeler (Regular Expressions) Nedir ?</h3>
<blockquote>
<p>Düzenli ifadeler (Regular Expressions, kısaca "Regex" ya da "Regexp"), Python programlama dilinin en çetrefilli konularından biridir. Ama bütün zorluklarına rağmen programlama deneyimimizin bir noktasında mutlaka karşımıza çıkacak olan bu yapıyı öğrenmemizde büyük fayda var. Düzenli ifadeleri öğrendikten sonra, elle yapılması saatler sürecek bir işlemi saliseler içinde yapabildiğinizi gördüğünüzde eminim düzenli ifadelerin ne büyük bir nimet olduğunu siz de anlayacaksınız. </p>
<p>Peki, düzenli ifadeleri kullanarak neler yapabiliriz? Çok genel bir ifadeyle, bu yapıyı kullanarak metinleri veya karakter dizilerini parmağımızda oynatabiliriz. Örneğin bir web sitesinde dağınık halde duran verileri bir çırpıda ayıklayabiliriz. Bu veriler, mesela, toplu halde görmek istediğimiz web adreslerinin bir listesi olabilir. Bunun dışında, örneğin, çok sayıda belge üzerinde tek adımda istediğimiz değişiklikleri yapabiliriz.</p>
<p>Ancak genel bir kural olarak, düzenli ifadelerden kaçabildiğimiz müddetçe kaçmamız gerekir. Eğer Python’daki karakter dizisi metotları, o anda yapmak istediğimiz şey için yeterli geliyorsa mutlaka o metotları kullanmalıyız. Çünkü karakter dizisi metotları, düzenli ifadelere kıyasla hem daha basit, hem de çok daha hızlıdır. Ama bir noktadan sonra karakter dizilerini kullanarak yazdığınız kodlar iyice karmaşıklaşmaya başlamışsa, kodların her tarafı if deyimleriyle dolmuşsa, hatta basit bir işlemi gerçekleştirmek için yazdığınız kod sayfa sınırlarını zorlamaya başlamışsa, işte o noktada artık düzenli ifadelerin dünyasına adım atmanız gerekiyor olabilir. </p>
<p>Kaynak: <a href="https://python-istihza.yazbel.com/standart_moduller/regex.html">Düzenli İfadeler - Yazbel Python Belgeleri</a></p>
</blockquote>
<h1>Konu Başlıkları</h1>
<p><a href="duzenli-ifadeler-tanim-ve-fonksiyonlar.html">Düzenli İfade Metotları (Fonksiyonları)</a></p>
<p>... <strong>match()</strong> Metodu </p>
<p>...... <em>span() Metodu</em></p>
<p>...... <em>string Özelliği</em></p>
<p>...... <em>group() Metodu</em></p>
<p>... <strong>split()</strong> Metodu</p>
<p>... <strong>search()</strong> Metodu</p>
<p>...... <em>start() Metodu</em></p>
<p>...... <em>end() Metodu</em></p>
<p>... <strong>findall()</strong> Metodu</p>
<p>... <strong>finditer()</strong> Metodu</p>
<p>... <strong>sub()</strong> Metodu</p>
<p><strong>... subn()</strong> Metodu</p>
<p><strong>... escape()</strong> Metodu</p>
<p><strong>... compile()</strong> Metodu</p>
<p><strong>... purge()</strong> Metodu</p>
<p><a href="duzenli-ifadeler-metakarakterler.html">MetaKarakterler, Özel Dizinler ve Bayraklar</a></p>
<p>... <strong>Meta Karakterler</strong></p>
<p>...... <strong>[ ]</strong> Köşeli Parantez</p>
<p>...... <strong>.</strong> Nokta</p>
<p>...... <strong>*</strong> Yıldız</p>
<p>...... <strong>+</strong> Artı</p>
<p>...... <strong>?</strong> Soru İşareti</p>
<p>...... <strong>{ }</strong> Küme Parantezi</p>
<p>...... <strong>^</strong> Şapka</p>
<p>...... <strong>$</strong> Dolar</p>
<p>...... \ Ters Bölü</p>
<p>...... <strong>|</strong> Dik Çizgi, Boru (Pipe) Sembolü</p>
<p>...... <strong>( )</strong> Parantez </p>
<p>... <strong>Özel Diziler</strong></p>
<p>...... \s</p>
<p>...... \S</p>
<p>...... \d</p>
<p>...... \D</p>
<p>...... \w</p>
<p>...... \W</p>
<p>...... \A</p>
<p>...... \Z</p>
<p>...... \b</p>
<p>...... \B</p>
<p><strong>... Bayraklar (Flags)</strong></p>
<p>...... <em>re.IGNORECASE</em> veya <em>re.I</em></p>
<p>...... <em>re.MULTILINE veya re.M</em></p>
<p>...... <em>re.DOTALL</em> veya <em>re.S</em></p>
<p>...... <em>re.UNICODE veya re.U</em></p>
<p>... <strong>Sonuç</strong></p>
<p><a href="duzenli-ifadeler-gruplar.html">Eşleşme Nesnesi Metotları ve Gruplar</a></p>
<p>... group() metodu</p>
<p>... groups() metodu</p>
<p>... (?P<...> ile Etiketleme</p>
<p>... Lookahead (İleriye bak)</p>
<p>...... <em>(?= ...) Pozitif Lookahead</em></p>
<p>...... <em>(?! ...) Negatif Lookahead</em></p>
<p>... Look Behind (Geriye bak)</p>
<p>...... <em>(?<=...) Pozitif Lookbehind</em></p>
<p>...... <em>(?<!...) Negatif Lookbehind</em></p>
<p><a href="duzenli-ifadeler-ozet-tablo.html">Düzenli Tablo Özet Tablosu (Cheat Sheet)</a></p>
</div>
</div>
</body>
</html>