Öğrenme ifadesine gerçekten zaman ayırıyorum ve farklı oyuncak senaryolarıyla oynuyorum. Çalışamadığım bir kurulum no'lu dizgenin başlangıcından bir karakterin başlangıcına kadar n karakterinin n olmasıyla n> 1'dir.regex karakterinin başlangıcından n 'a geçmesi
Burada, dizenin başlangıcından ilk alt çizgiye geçebilirim. Bunu ikinci veya üçüncü alt çizgiye genelleştiremiyorum.
x <- c("a_b_c_d", "1_2_3_4", "<_?_._:")
gsub("_.*$", "", x)
Here's what I'm trying to achieve with regex. (`sub`/`gsub`):
## > sapply(lapply(strsplit(x, "_"), "[", 1:2), paste, collapse="_")
## [1] "a_b" "1_2" "<_?"
#or
## > sapply(lapply(strsplit(x, "_"), "[", 1:3), paste, collapse="_")
## [1] "a_b_c" "1_2_3" "<_?_."
İlgili mesaj: regex from first character to the end of the string
ikinci normal ifade, bir '. +? ve 'alt olmalıdır ('((. + _) {2}. +?). * $', '\\ 1', x)' – eddi
eksik @eddi ikinci regex eksik değildi çünkü nasıl düzgün çalışacağını bilmiyordum! Ve benim düşünceme daha yakın olacağını düşünüyorum. Beni doğru yöne işaret ettiğin için teşekkürler. – Justin
'. +' Before '?' Olmadan, OP'in örnekleriyle eşleşmeyen bir ekstra '_ 'elde edersiniz. – eddi