Allain temelde java koduna sahiptir, bu yüzden kullanabilirsiniz. Ancak, ifadesi yalnızca sayılarınızın önünde yalnızca bir kelime karakteri akışı varsa eşleşir .
"(\\d+)"
ilk basamak dizesini bulabilmelidir. İlk basamak dizisi olacağından eminseniz, bundan önce ne olduğunu belirtmenize gerek yoktur. Benzer şekilde, siz istemedikçe, bundan sonra ne olduğunu belirtmenin bir anlamı yoktur. Sadece sayıyı istiyorsanız ve bir veya daha fazla basamağın ilk dizesi olacağından eminseniz, ihtiyacınız olan tek şey budur.
Boşluklarla dengelenmesini beklerseniz, belirtmek daha da farklı olacaktır.
"\\s+(\\d+)\\s+"
daha iyi olabilir.
Üç parçaya da ihtiyacınız varsa, bu yapılacaktır:
"(\\D+)(\\d+)(.*)"
EDIT Allain ve Jack tarafından verilen İfadeler, rakamları yakalamak için basamak olmayan bazı alt kümeleri belirtmeniz gerektiğini önerir . Eğer regex motoruna aradığınızı söylerseniz \d
, rakamlardan önce her şeyi görmezden gelir. J veya A'nın ifadesi ise uyuyor Kalıbınızı, sonra tüm maç eşittir giriş dizesi . Ve bunu belirtmek için bir sebep yok. Tamamen görmezden gelinmediği takdirde, muhtemelen temiz bir maç yavaşlar.