Java'daki bir dizeden bir desenin ilk oluşumunu kaldırmaya çalışıyorum.Regex deseniyle ilgili sorunlar
Kaynak dizesi: DUMMY01012016DUMMY01012016
Biçim alfa-numerics herhangi bir sayıda ardından bir tarihe MMddyyyy
ardından 1-8 alfa-sayısal karakterdir.
Kazanmaya çalışıyorum, ilk tarih oluşumunu da içeren tüm başlangıç karakterlerini kaldırın. Yani aşağıdaki örnekte DUMMY01012016
ile bırakılacaktır. Desen kereden fazla eşleşti kadar iyi çalışır ".*\\d{4}(2016|2017|2015)"
: Burada
ne denedim basitleştirilmiş bir versiyonudur. Bu nedenle, örnektematcher.replaceFirst("")
, yalnızca ilk oluşumu değil, tüm kaynak dizesini değiştirecektir.
Herhangi bir düşünce büyük takdir edilecektir.
Teşekkürler. Stephan
'. \ D {4} (2016 | 2017 | 2015).?' Deseninizi nasıl eşleştiriyor? _1-8 alfanümerik karakterlerin formatına göre bir tarih ve ardından herhangi bir alfa-numerics sayısı ile takip edilen bir MMddyyyy biçimine göre değil mi? –
Olası kopyası [İntiks kullanarak bir dizgede bir dizinin indeksini alın] (http://stackoverflow.com/questions/8938498/get-the-index-of-a-pattern-in-a-string-using- regex) – flakes
"Alfasayısal karakterler" ile aslında * alfabetik * karakterleri, yani harfleri mi kastediyorsunuz? "Alfasayısal" basamakları içerir. –