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.
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:
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]+)
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
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
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