আপনি বন্ধনী দিয়ে অভিব্যক্তিগুলিকে পৃথক করে নিয়মিত অভিব্যক্তিতে মিলে যাওয়া গ্রুপগুলি গঠন করতে পারেন। নিম্নলিখিত রেগুলার এক্সপ্রেশনে প্রথম গ্রুপটি সংখ্যার সাথে মেলে এবং দ্বিতীয় গ্রুপটি ইংরেজি বর্ণমালার সাথে মেলে −
(\\d)([A-Za-z])
সংক্ষেপে, এটি ইনপুট স্ট্রিং এর অংশের সাথে মেলে যেখানে একটি অঙ্কের পরে একটি বর্ণমালা।
যেহেতু $1 অভিব্যক্তি গ্রুপ1 নির্দেশ করে এবং $2 গ্রুপ2 নির্দেশ করে, যদি আপনি উপরের জাভা রেগুলার এক্সপ্রেশনটিকে $1 $2, দিয়ে প্রতিস্থাপন করেন রিপ্লেস() পদ্ধতি (স্ট্রিং ক্লাসের) ব্যবহার করে প্রদত্ত ইনপুট স্ট্রিং-এ সংখ্যা এবং একটি শব্দের মধ্যে একটি স্পেস যোগ করা হবে যখন একটি সংখ্যা একটি শব্দ দ্বারা অনুসরণ করা হয়।
উদাহরণ
import java.util.Scanner; public class SampleTest { public static void main( String args[] ) { String regex = "(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])"; //Reading input from user Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); //String result = input.replaceAll(regex, " "); String result = input.replaceAll( "(\\d)([A-Za-z])", "$1 $2" ); System.out.println(result); } }
আউটপুট
Enter input text: 21This 23is 56sample 99text 21 This 23 is 56 sample 99 text
একইভাবে, আপনি প্রদত্ত টেক্সটে সংখ্যা এবং বর্ণমালার মধ্যে স্পেস যোগ করতে পারেন নির্বিশেষে আপনাকে নিচের এক্সপ্রেশনটিকে একটি স্পেস দিয়ে প্রতিস্থাপন করতে হবে −
(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])
উদাহরণ
import java.util.Scanner; public class SampleTest { public static void main( String args[] ) { String regex = "(?<=[A-Za-z])(?=[0-9])|(?<=[0-9])(?=[A-Za-z])"; //Reading input from user Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); //String result = input.replaceAll(regex, " "); String result = input.replaceAll( regex, " " ); System.out.println(result); } }
আউটপুট
Enter input text: 21This23is56sample99text 21 This 23 is 56 sample 99 text