নিম্নলিখিত উদাহরণগুলি যা জাভাতে রেগুলার এক্সপ্রেশন ব্যবহার করে একটি স্ট্রিং থেকে সংখ্যাগুলি কীভাবে বের করতে হয় তা দেখায়৷
স্ট্রিং পার্স করতে এবং এটি থেকে তথ্য বের করতে সক্ষম হওয়া একটি মূল দক্ষতা যা প্রতিটি পরীক্ষকের থাকা উচিত। এপিআই পরীক্ষা করার সময় এটি বিশেষভাবে কার্যকর এবং আপনাকে একটি JSON বা XML প্রতিক্রিয়া পার্স করতে হবে।
নিম্নলিখিত জাভা রেগুলার এক্সপ্রেশন উদাহরণগুলি একটি স্ট্রিং থেকে সংখ্যা বা অঙ্কগুলি বের করার উপর ফোকাস করে৷
একটি স্ট্রিং থেকে সমস্ত সংখ্যা বের করুন
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
সম্পর্কিত:
- কিভাবে জাভাতে স্ট্রিংকে Int-এ রূপান্তর করবেন
- কিভাবে জাভাতে স্ট্রিং রিভার্স করতে হয়
- কিভাবে জাভাতে স্ট্রিং তুলনা করবেন
একটি স্ট্রিং থেকে nম সংখ্যা বের করুন
আপনি যদি একটি স্ট্রিং থেকে শুধুমাত্র নির্দিষ্ট সংখ্যা বের করতে চান তাহলে আপনি 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]+)
- অ-সংখ্যাকে উপেক্ষা করুন
- যেকোন সংখ্যা (প্রথম সংখ্যা) উপেক্ষা করুন
- আবার কোনো অ-সংখ্যা উপেক্ষা করুন
- দ্বিতীয় সংখ্যাটি ক্যাপচার করুন
একটি ট্যাগ অ্যাট্রিবিউট থেকে নম্বর বের করুন
এক্সএমএল বা এইচটিএমএল ট্যাগ নিয়ে কাজ করার সময়, কখনও কখনও একটি অ্যাট্রিবিউট থেকে একটি মান বের করার প্রয়োজন হয়। উদাহরণস্বরূপ, নিম্নলিখিত ট্যাগটি বিবেচনা করুন
<result name="response" numFound="9999" start="0">
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
অঙ্ক এবং অক্ষর সম্বলিত একটি স্ট্রিং বের করুন
আপনি জাভা রেগুলার এক্সপ্রেশন ব্যবহার করতে পারেন একটি স্ট্রিং এর একটি অংশ যা সংখ্যা এবং অক্ষর রয়েছে। ধরুন আমাদের এই স্ট্রিংটি আছে 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