Paket | Üst Düzey |
Sınıf | public dynamic class RegExp |
Miras Alma | RegExp Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
new RegExp()
yapıcısını kullanarak veya bir değişkene RegExp değişmezini atayarak yeni bir RegExp nesnesi oluşturabilirsiniz:
var pattern1:RegExp = new RegExp("test-\\d", "i"); var pattern2:RegExp = /test-\d/i;
Daha fazla bilgi için, ActionScript 3.0 Geliştirici Kılavuzu'nda "Normal İfadeler Kullanma" konusuna bakın.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
dotall : Boolean [salt okunur]
Normal ifade düzeninde nokta karakterinin (.) yeni çizgi karakterleriyle eşleşip eşleşmediğini belirtir. | RegExp | ||
extended : Boolean [salt okunur]
Normal ifade için genişletilmiş modun kullanılıp kullanılmayacağını belirtir. | RegExp | ||
global : Boolean [salt okunur]
Normal ifade için global eşlemenin kullanılıp kullanılmayacağını belirtir. | RegExp | ||
ignoreCase : Boolean [salt okunur]
Normal ifadenin büyük/küçük harf duyarlılığını yok sayıp yoksaymadığını belirtir. | RegExp | ||
lastIndex : Number
Dizede bir sonraki aramanın başlatılacağı dizin konumunu belirtir. | RegExp | ||
multiline : Boolean [salt okunur]
m (multiline) bayrağının ayarlanıp ayarlanmadığını belirtir. | RegExp | ||
source : String [salt okunur]
Normal ifadelerin desen bölümünü belirtir. | RegExp |
Yöntem | Tanımlayan: | ||
---|---|---|---|
İki dizeden bir normal ifade oluşturmanızı sağlar. | RegExp | ||
Belirli bir str dizesinde düzenli ifadeyi arar. | RegExp | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Belirli bir str dizesindeki normal ifadenin eşleşmesi için test yapar. | RegExp | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object |
dotall | özellik |
dotall:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Normal ifade düzeninde nokta karakterinin (.) yeni çizgi karakterleriyle eşleşip eşleşmediğini belirtir. Normal ifadeyi oluştururken dotall = true
olarak ayarlamak için s
bayrağını kullanın.
Uygulama
public function get dotall():Boolean
Örnek ( Bu örnek nasıl kullanılır? )
s
(dotall
) bayrağının normal bir ifade üzerindeki etkisini gösterir:
var str:String = "<p>Hello\n" + "again</p>" + "<p>Hello</p>"; var pattern:RegExp = /<p>.*?<\/p>/; trace(pattern.dotall) // false trace(pattern.exec(str)); // <p>Hello</p> pattern = /<p>.*?<\/p>/s; trace(pattern.dotall) // true trace(pattern.exec(str));
extended | özellik |
extended:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Normal ifade için genişletilmiş modun kullanılıp kullanılmayacağını belirtir. RegExp nesnesi genişletilmiş moddayken, yapıcı dizesindeki beyaz boşluk karakterleri yok sayılır. Bu, yapıcının daha okunaklı olmasını sağlamak için yapılır.
Normal ifadeyi oluştururken extended = true
olarak ayarlamak için x
bayrağını kullanın.
Uygulama
public function get extended():Boolean
Örnek ( Bu örnek nasıl kullanılır? )
x
bayrağını kullanarak dizedeki beyaz boşlukların yok sayılmasına sağlar.
var rePhonePattern1:RegExp = /\d{3}-\d{3}-\d{4}|\(\d{3}\)\s?\d{3}-\d{4}/; var str:String = "The phone number is (415)555-1212."; trace(rePhonePattern1.extended) // false trace(rePhonePattern1.exec(str)); // (415)555-1212 var rePhonePattern2:RegExp = / \d{3}-\d{3}-\d{4} | \( \d{3} \) \ ? \d{3}-\d{4} /x; trace(rePhonePattern2.extended) // true trace(rePhonePattern2.exec(str)); // (415)555-1212
global | özellik |
global:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Normal ifade için global eşleşmenin kullanılıp kullanılmayacağını belirtir. global == true
olduğunda, eşleme bulunduktan sonra lastIndex
özelliği ayarlanır. Bir dahaki sefere eşleme istendiğinde, normal ifade motoru dizedeki lastIndex
konumundan başlar. Normal ifade oluştururken global
öğesini true
olarak ayarlamak için g
bayrağını kullanın.
Uygulama
public function get global():Boolean
Örnek ( Bu örnek nasıl kullanılır? )
g
(global
) bayrağını ayarlamanın exec()
yöntemi üzerindeki etkisini gösterir:
var pattern:RegExp = /foo\d/; var str:String = "foo1 foo2"; trace(pattern.global); // false trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 0 trace(pattern.exec(str)); // foo1 pattern = /foo\d/g; trace(pattern.global); // true trace(pattern.exec(str)); // foo1 trace(pattern.lastIndex); // 4 trace(pattern.exec(str)); // foo2
ignoreCase | özellik |
ignoreCase:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Normal ifadenin büyük/küçük harf duyarlılığını yok sayıp yoksaymadığını belirtir. Normal ifadeyi oluştururken ignoreCase = true
olarak ayarlamak için i
bayrağını kullanın.
Uygulama
public function get ignoreCase():Boolean
Örnek ( Bu örnek nasıl kullanılır? )
i
(ignoreCase
) bayrağını ayarlamanın etkisini gösterir:
var pattern:RegExp = /bob/; var str:String = "Bob bob"; trace(pattern.ignoreCase); // false trace(pattern.exec(str)); // bob pattern = /bob/i; trace(pattern.ignoreCase); // true trace(pattern.exec(str)); // Bob
lastIndex | özellik |
lastIndex:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dizede bir sonraki aramanın başlatılacağı dizin konumunu belirtir. Bu özellik RegExp sınıfının exec()
ve test()
yöntemlerini etkiler. Ancak String sınıfının match()
, replace()
ve search()
yöntemleri, lastIndex
özelliğini yok sayar ve tüm aramaları dizenin başından başlatır.
exec()
veya test()
yöntemi bir eşleme bulduğunda ve normal ifade için g
(global
) bayrağı true
olarak ayarlandığında, yöntem lastIndex
özelliğini, son eşlemedeki eşleşen alt dizenin son karakterinden sonraki karakterin konumuna otomatik olarak ayarlar. g
(global
) bayrağı false
olarak ayarlanırsa, yöntem lastIndex
özelliğini ayarlamaz.
Normal ifade eşleme için dizedeki başlangıç konumunu belirlemek üzere lastIndex
özelliğini ayarlayabilirsiniz.
Uygulama
public function get lastIndex():Number
public function set lastIndex(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
lastIndex
özelliğini ayarlamanın etkisini ve g
(global
) bayrağının ayarlanmış olduğu normal bir ifadede exec()
yönteminin çağrılmasından sonra bu özelliğin nasıl güncellendiğini gösterir.
var pattern:RegExp = /\w\d/g; var str:String = "a1 b2 c3 d4"; pattern.lastIndex = 2; trace(pattern.exec(str)); // b2 trace(pattern.lastIndex); // 5 trace(pattern.exec(str)); // c3 trace(pattern.lastIndex); // 8 trace(pattern.exec(str)); // d4 trace(pattern.lastIndex); // 11 trace(pattern.exec(str)); // null
multiline | özellik |
multiline:Boolean
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
m
(multiline
) bayrağının ayarlanıp ayarlanmadığını belirtir. Ayarlandıysa, normal ifadedeki düzeltme işareti (^
) ve dolar işareti ($
) yeni satırların öncesi ve sonrasıyla eşleşir. Normal ifadeyi oluştururken multiline = true
olarak ayarlamak için m
bayrağını kullanın.
Uygulama
public function get multiline():Boolean
Örnek ( Bu örnek nasıl kullanılır? )
m
(multiline
) bayrağını ayarlamanın etkisini gösterir:
var pattern:RegExp = /^bob/; var str:String = "foo\n" + "bob"; trace(pattern.multiline); // false trace(pattern.exec(str)); // null pattern = /^bob/m; trace(pattern.multiline); // true trace(pattern.exec(str)); // bob
source | özellik |
source:String
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Normal ifadelerin desen bölümünü belirtir.
Uygulama
public function get source():String
Örnek ( Bu örnek nasıl kullanılır? )
source
parametresini çıktı olarak verir:
var re1:RegExp = /aabb/gi; trace (re1.source); // aabb var re2:RegExp = new RegExp("x+y*", "i"); trace(re2.source); // x+y*
RegExp | () | Yapıcı |
public function RegExp(re:String, flags:String)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
İki dizeden bir normal ifade oluşturmanızı sağlar. Bir dize, normal ifadedeki deseni tanımlar; diğeri ise normal ifadede kullanılan bayrakları tanımlar.
Parametrelerre:String — Normal ifadenin deseni (ayrıca yapıcı dize olarak da adlandırılır). Bu, normal ifadenin ana bölümüdür ("/" karakterleri arasında kalan bölüm).
Notlar:
| |
flags:String — Normal ifadenin değiştiricileri. Bunlar şunları içerebilir:
|
exec | () | yöntem |
AS3 function exec(str:String):Object
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirli bir str
dizesinde normal ifadeyi arar.
g
(global
) bayrağı normal ifadeye ayarlanmadıysa bunu normal ifadeye ayarlayın, daha sonra arama işlemi dizenin başından başlar (0. dizin konumundan); arama işlemi normal ifadenin lastIndex
özelliğini yok sayar.
g
(global
) bayrağı normal ifadeye ayarlandıysa, arama işlemi normal ifadenin lastIndex
özelliğiyle belirtilen dizin konumundan başlar. Arama işlemi eşleşen bir alt dize bulursa, lastIndex
özelliği eşleşen alt dizenin son karakterinin konumuyla aynı olacak şekilde değişir.
Parametreler
str:String — Aranacak dize.
|
Object — Eşleşme yoksa null ; aksi takdirde şu özelliklere sahip bir nesne:
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
g
(global
) bayrağı normal ifadeye ayarlanmadıysa, dizede eşleşen ilk sonucu bulmak için exec()
komutunu kullanabilirsiniz.
var myPattern:RegExp = /(\w*)sh(\w*)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); trace(result);
result
nesnesi şu değerlere ayarlanır:
-
result[0]
"She"
değerini alır (tam eşleme). -
result[1]
boş bir dize olarak ayarlanır (eşlenen ilk üst grup). -
result[2]
"e"
değerini alır (eşlenen ikinci üst grup). -
result.index
0 olarak ayarlanır. -
result.input
şu girdi dizesine ayarlanır:"She sells seashells by the seashore"
.
Aşağıdaki örnekte, g
(global
) bayrağı normal ifadeye ayarlanmıştır, böylece birden fazla eşleşme bulmak için exec()
komutunu arka arkaya kullanabilirsiniz:
var myPattern:RegExp = /(\w*)sh(\w*)/ig; var str:String = "She sells seashells by the seashore"; var result:Object = myPattern.exec(str); while (result != null) { trace ( result.index, "\t", result); result = myPattern.exec(str); }
Bu kod şu çıktıyı verir:
0 She,,e
10 seashells,sea,ells
27 seashore,sea,ore
test | () | yöntem |
AS3 function test(str:String):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirli bir str
dizesindeki normal ifadenin eşleşmesi için test yapar.
g
(global
) bayrağı normal ifadeye ayarlanmadıysa bunu normal ifadeye ayarlayın, daha sonra arama işlemi dizenin başından başlar (0. dizin konumundan); arama işlemi normal ifadenin lastIndex
özelliğini yok sayar.
g
(global
) bayrağı normal ifadeye ayarlandıysa, arama işlemi normal ifadenin lastIndex
özelliğiyle belirtilen dizin konumundan başlar. Arama işlemi eşleşen bir alt dize bulursa, lastIndex
özelliği eşleşen alt dizenin son karakterinin konumuyla aynı olacak şekilde değişir.
Parametreler
str:String — Test edilecek dize.
|
Boolean — Eşleşme varsa true ; aksi takdirde false .
|
Örnek ( Bu örnek nasıl kullanılır? )
test()
yönteminin, g
(global
) bayrağı ayarlanmış olan bir normal ifadede nasıl kullanılacağını gösterir:
var re1:RegExp = /\w/g; var str:String = "a b c"; trace (re1.lastIndex); // 0 trace (re1.test(str)); // true trace (re1.lastIndex); // 1 trace (re1.test(str)); // true trace (re1.lastIndex); // 3 trace (re1.test(str)); // true trace (re1.lastIndex); // 5 trace (re1.test(str)); // false
informalizeGreeting()
yöntemi sadece Hello
kelimesini büyük/küçük harfe bakmadan Hi
kelimesiyle değiştirir. Yöntem ayrıca, dizedeki adın içinden soyadını çıkarır (adın belirtilen desenle eşleştiği varsayılır). validateEmail()
ve validatePhoneNumber()
yöntemlerinde, iletilen dize deseninin geçerli bir e-posta adresi veya belirli bir telefon numarası deseniyle eşleşip eşleşmediği kontrol edilir; sonuca bağlı olarak yöntem Boolean değerleri döndürür.
package { import flash.display.Sprite; public class RegExpExample extends Sprite { public function RegExpExample() { var formalGreeting:String = "Hello, John Smith."; trace(informalizeGreeting(formalGreeting)); // Hi, John. var validEmail:String = "name@domain.com"; trace(validateEmail(validEmail)); // true var invalidEmail:String = "foo"; trace(validateEmail(invalidEmail)); // false var validPhoneNumber:String = "415-555-1212"; trace(validatePhoneNumber(validPhoneNumber)); // true var invalidPhoneNumber:String = "312-867-530999"; trace(validatePhoneNumber(invalidPhoneNumber)); // false } private function informalizeGreeting(str:String):String { var pattern:RegExp = new RegExp("hello, (\\w+) \\w+", "i"); return str.replace(pattern, "Hi, $1"); } private function validateEmail(str:String):Boolean { var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; var result:Object = pattern.exec(str); if(result == null) { return false; } return true; } private function validatePhoneNumber(str:String):Boolean { var pattern:RegExp = /^\d{3}-\d{3}-\d{4}$/; var result:Object = pattern.exec(str); if(result == null) { return false; } return true; } } }
Tue Jun 12 2018, 01:09 PM Z