2011-03-14 31 views
5

Hey. İlk soru şu, muhtemelen son derece topal, ama tamamen hep tire önce ve sonra yalnızca alfabetik karakterler dize serisiyle metin ayıklamak istediğiniz normal ifadeler :(Karakterden dize sonuna kadar eşittir

içinde emmek:

string = "some-text" 
Ben string1 = "some" ve string2 = "text"

gerekir yukarıdaki örneğin Yani

Ben. önce vE tire sonra metni ekleyin ayrı dizeleri oluşturmak gerekiyor ben this buldum ve şimdi sadece ihtiyaç tire önce metin için çalışır sonrası için bir regex tire.

Teşekkürler.

cevap

9

Bunun için normal ifadeye ihtiyacınız yoktur, bunun yerine onu bölebilirsiniz.

var myString = "some-text"; 
var splitWords = myString.split("-"); 

splitWords[0] ardından "bazı" olacağını ve splitWords[1] "metin" olacaktır.

aslında olsa herhangi bir nedenle normal ifadeler kullanabilirsiniz gerekiyorsa

- $ karakter regex bir dize sona erdiğini, bu nedenle -(.*)$ o dizenin sonuna kadar bulduğu ilk tire sonra her şeyi eşleşecek bir düzenli ifade olduğunu. Bu aslında -(.*) için de .* zaten dizenin sonuna kadar eşleşecek şekilde basitleştirilebilir.

İlgili konular