Ben şu dize:Regex İç içe parantezler
[0] = a,b,c,
[1] = d.e(f,g,h,i.j(k,l))
[2] = m,n
:
a,b,c,d.e(f,g,h,i(j,k)),l,m,n
Ben sadece böyle parantezler şeyin "ilk düzeyi" beni döndüren bir düzenli ifade inşa edebileceğini nasıl söyle bilir mi
Amaç, aynı dizine sahip olan bölümün gelecekteki işlemek için iç içe parantez içinde tutulmasıdır.
Teşekkür ederiz.
DÜZENLEME örneğini geliştirmek için çalışılıyor
...
Benusername,TB_PEOPLE.fields(FirstName,LastName,TB_PHONE.fields(num_phone1, num_phone2)),password
Amacım dinamik sorgu bir dize açmaktır bu dizesi vardır düşünün. Daha sonra "TB_" ile başlamayan alanlar, bunların ana tablonun alanları olduğunu biliyorum, aksi halde alanları parantez içinde biliyorum, başka bir tabloyla ilişkilidir. Ama tüm tabloları "birinci seviye" alma konusunda zorluk çekiyorum çünkü onları ilgili tablolardan ayırabiliyorum, geri kalan alanları tekrar tekrar ele geçirebilirim. Özür, biraz daha iyi izah umut
[0] = username,password
[1] = TB_PEOPLE.fields(FirstName,LastName,TB_PHONE.fields(num_phone1, num_phone2))
: Sonunda
, gibi bir şey olurdu. Verilen dize için(?<head>[a-zA-Z._]+\,)*(?<body>[a-zA-Z._]+[(].*[)])(?<tail>.*)
: Ben doğru örnek anlasalardı
Örneğini anlamıyorum. –
Eşleşmemeli [1] 'be' (f, g, h, i.j (k, l)) '? Değilse, biraz daha açıklayabilir misiniz lütfen? Bildiğim kadarıyla – Vache
, Regex yuvalanmış yapıları ayrıştıramıyor – Jonesopolis