በጃቫ ውስጥ መደበኛ መግለጫዎችን በመጠቀም ቁጥሮችን ከጽሑፍ እንዴት ማውጣት እንደሚችሉ የሚያሳዩ የሚከተሉት ምሳሌዎች ናቸው ፡፡
ሕብረቁምፊዎችን ለማጣራት እና መረጃን ከእሱ ማውጣት መቻል እያንዳንዱ ሞካሪ ሊኖረው የሚገባ ቁልፍ ችሎታ ነው ፡፡ ይህ ኤ.ፒ.አይ.ዎችን ሲሞክሩ በጣም ጠቃሚ ነው እናም ያስፈልግዎታል JSON ን ይተነትኑ ወይም የኤክስኤምኤል ምላሽ።
የሚከተሉት የጃቫ መደበኛ መግለጫዎች ምሳሌዎች ቁጥሮችን ወይም አሃዞችን ከአንድ ገመድ ላይ ማውጣት ላይ ያተኩራሉ።
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());
}
} }
ውጤት
1234 567 890
ተዛማጅ:
የተወሰኑ ቁጥሮችን ብቻ ከህብረቁምፊ ማውጣት ከፈለጉ ለ group()
መረጃ ጠቋሚ ማቅረብ ይችላሉ ተግባር
ለምሳሌ ፣ የሁለተኛውን የቁጥሮች ስብስብ ከቃጫው ላይ ብቻ ማውጣት ከፈለግን string1234more567string890
፣ ማለትም 567
ከዚያ ልንጠቀምበት እንችላለን
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
}
} }
ውጤት
567
ስለ ስርዓተ-ጥለት ማብራሪያ [^d]*[d]+[^d]+([d]+)
ከኤክስኤምኤል ወይም ከኤች.ቲ.ኤም.ኤል መለያዎች ጋር በሚሰሩበት ጊዜ አንዳንድ ጊዜ ከአንድ ባህሪ ውስጥ አንድ እሴት ማውጣት ያስፈልጋል። ለምሳሌ የሚከተለውን መለያ ያስቡ
ቁጥር ለማውጣት 9999
የሚከተሉትን ኮድ መጠቀም እንችላለን
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));
}
} }
ውጤት
9999
አሃዞችን እና ቁምፊዎችን የያዘ የ string ን ክፍል ለማውጣት የጃቫ መደበኛ መግለጫዎችን መጠቀም ይችላሉ። ይህ ገመድ አለን እንበል Sample_data = YOUR SET ADDRESS IS 6B1BC0 TEXT
እና ለማውጣት እንፈልጋለን 6B1BC0
የትኛው ነው 6 ቁምፊዎች ረዥም ፣ እኛ ልንጠቀምባቸው እንችላለን
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
}
} }
ውጤት
6B1BC0
የዚህ ቅርጸት ሕብረቁምፊ አለን እንበል bookname=testing&bookid=123456&bookprice=123.45
እና የቁልፍ እሴት ጥንድ ማውጣት እንፈልጋለን bookid=123456
እኛ እንጠቀም ነበር
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());
}
} }
ውጤት
123456