2016-04-07 30 views
-1

Aşağıdaki dize sahibim ve düzenli bir ifade kullanaraksürüm numarasıyla eşleşmeyen hiçbir şey için preg_replace yapmaya çalışıyorum.PHP Ters Çevir/Olumsuz Rejeks Düzeni

Sen eşleşir 12c dize biçimi kullanıyorum ama bunun tersine mümkün olup olmadığını veya/regex maç olumsuzlamak anlamaya görünmüyor böylece yerine değiştirilmesi working match

ifade görebilirsiniz 12c, 12c'dan herşeyi değiştirir, böylece preg_match işlevi tarafından 11g'nin yalnızca 12c'si döndürülür.

Kodu:

preg_match('/(\s[0-9]{2}[a-z]{1}\s)/', '', 'Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit Production with the Partitioning, OLAP, Data Mining and Real Application Testing option'); 

Desen:

/(\s[0-9]{2}[a-z]{1}\s)/ 

Dize: Eğer doğru anladıysam

Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit Production with the Partitioning, OLAP, Data Mining and Real Application Testing option 
+0

Eh, biraz belirsiz. Lütfen, her şeyi değiştirin * 12c'yi 11g vb. Sadece 12c yerine preg_match işleviyle * döndürün. –

+0

Mevcut düzenli ifadenizin, eğer şans verilirse 64bit'ten 64 bit ile eşleşeceğine dikkat edin. – apokryfos

+0

@apokryfos desen değiştirmek için yeterli - '([0-9] {2} [a-z] {1} (? = \ W | $)))' – splash58

cevap

1

, sen wa nt desenle eşleşen metni almak için:

if (preg_match('/([0-9]{2}[a-z]{1})/', 'Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit Production with the Partitioning, OLAP, Data Mining and Real Application Testing option', $m)) 
    echo $m[1]; // 12c