Khipha Izinombolo Ezintanjeni Usebenzisa Izinkulumo Ezijwayelekile ZeJava

Okulandelayo yizibonelo ezibonisa ukuthi ungazikhipha kanjani izinombolo entanjeni usebenzisa izinkulumo ezijwayelekile eJava.

Ukukwazi ukudlulisa izintambo nokukhipha imininingwane kuyo kuyikhono elibalulekile wonke umhloli okufanele abe nalo. Lokhu kusiza kakhulu lapho kuhlolwa ama-API futhi udinga hlwaya iJSON noma impendulo yeXML.

Izibonelo ezilandelayo zeJava Expression zigxila ekukhipheni izinombolo noma amadijithi ku-String.




Khipha Zonke Izinombolo ku-String

import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExamples {
public static void main(String[]args) {
Pattern p = Pattern.compile('\d+');
Matcher m = p.matcher('string1234more567string890');
while(m.find()) {

System.out.println(m.group());
}
} }

Lokukhipha:

1234 567 890

Okuhlobene:




Khipha i-nth Digit kusuka ku-String

Uma ufuna ukukhipha izinombolo ezithile kuphela entanjeni unganikeza inkomba ku- group() umsebenzi.

Isibonelo, uma besifuna ukukhipha kuphela isethi yesibili yamadijithi entanjeni string1234more567string890, i.e. 567 lapho-ke singasebenzisa:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExamples {
private static final Pattern p = Pattern.compile('[^\d]*[\d]+[^\d]+([\d]+)');
public static void main(String[] args) {
// create matcher for pattern p and given string
Matcher m = p.matcher('string1234more567string890');

// if an occurrence if a pattern was found in a given string...
if (m.find()) {

System.out.println(m.group(1)); // second matched digits
}
} }

Lokukhipha:

567

Incazelo Yephethini [^d]*[d]+[^d]+([d]+)


  • unganaki noma iyiphi engeyona enamadijithi
  • unganaki noma yiliphi idijithi (inombolo yokuqala)
  • futhi unganaki noma iyiphi engeyona eyedijithi
  • bamba inombolo yesibili


Khipha inombolo ku-Attribute Tag

Lapho usebenza namathegi weXML noma we-HTML, kwesinye isikhathi kunesidingo sokukhipha inani kusuka kwimfanelo. Isibonelo, cabanga ngomaki olandelayo

Ukukhipha inombolo 9999 singasebenzisa ikhodi elandelayo:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExamples {
public static void main(String[]args) {
Pattern pattern = Pattern.compile('numFound='([0-9]+)'');
Matcher matcher = pattern.matcher('');

if (matcher.find()) {

System.out.println(matcher.group(1));
}
} }

Lokukhipha:


9999

Khipha umugqa oqukethe amadijithi nezinhlamvu

Ungasebenzisa izinkulumo ezijwayelekile zeJava ukukhipha ingxenye ye-String equkethe amadijithi nezinhlamvu. Ake sithi sinale ntambo Sample_data = YOUR SET ADDRESS IS 6B1BC0 TEXT futhi sifuna ukukhipha 6B1BC0 okusho ukuthi Izinhlamvu ezi-6 ubude , singasebenzisa:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExamples {
public static void main (String[] args) {
Pattern p = Pattern.compile('YOUR SET ADDRESS IS\s+([A-Z0-9]{6})');
Matcher n = p.matcher('YOUR SET ADDRESS IS 6B1BC0 TEXT');
if (n.find()) {

System.out.println(n.group(1)); // Prints 123456
}
} }

Lokukhipha:

6B1BC0

Khipha Amabili Wokubaluleka Kokhiye Ngezincazelo Ezivamile

Ake sithi sinentambo yale fomethi bookname=testing&bookid=123456&bookprice=123.45 futhi sifuna ukukhipha inani lenani lokhiye bookid=123456 sisebenzisa:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexExamples {
public static void main(String[] args) {
String s = 'bookname=cooking&bookid=123456&bookprice=123.45';
Pattern p = Pattern.compile('(?<=bookid=)\d+');
Matcher m = p.matcher(s);
if (m.find()) {

System.out.println(m.group());
}
} }

Lokukhipha:


123456