የጃቫ መደበኛ መግለጫዎችን በመጠቀም ከቁጥሩ ቁጥሮች ያውጡ

በጃቫ ውስጥ መደበኛ መግለጫዎችን በመጠቀም ቁጥሮችን ከጽሑፍ እንዴት ማውጣት እንደሚችሉ የሚያሳዩ የሚከተሉት ምሳሌዎች ናቸው ፡፡

ሕብረቁምፊዎችን ለማጣራት እና መረጃን ከእሱ ማውጣት መቻል እያንዳንዱ ሞካሪ ሊኖረው የሚገባ ቁልፍ ችሎታ ነው ፡፡ ይህ ኤ.ፒ.አይ.ዎችን ሲሞክሩ በጣም ጠቃሚ ነው እናም ያስፈልግዎታል 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

ተዛማጅ:




Nth ዲጂትን ከአንድ ገመድ ያስወጡ

የተወሰኑ ቁጥሮችን ብቻ ከህብረቁምፊ ማውጣት ከፈለጉ ለ 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