Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Regular Expression (re) Sub-Expression ใน Java


นิพจน์ย่อย/อักขระเมตา "( )" จัดกลุ่มนิพจน์ทั่วไปและจดจำข้อความที่ตรงกัน

ตัวอย่างที่ 1

import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Example { public static void main (String args[] ) { String input ="สวัสดี เป็นอย่างไรบ้าง ยินดีต้อนรับสู่ Tutorialspoint"; สตริง regex ="H(ell|ow)"; //การคอมไพล์นิพจน์ทั่วไป Pattern pattern =Pattern.compile(regex); //ดึงวัตถุที่จับคู่ Matcher matcher =pattern.matcher (อินพุต); if(matcher.find()) { System.out.println ("พบรายการที่ตรงกัน"); } อื่น { System.out.println ("ไม่พบรายการที่ตรงกัน"); } }}

ผลลัพธ์

พบการแข่งขัน

ตัวอย่างที่ 2

ในตัวอย่างต่อไปนี้ เรากำลังพยายามจับคู่ประโยคที่มีตัวเลขอยู่ในนั้น -

<ก่อนหน้า> นำเข้า java.util.Scanner นำเข้า java.util.regex.Matcher นำเข้า java.util.regex.Pattern คลาสสาธารณะ PatternExample { โมฆะสาธารณะหลัก (สตริง [] args) { System.out.println (" ใส่สตริงอินพุต:"); สแกนเนอร์ sc =สแกนเนอร์ใหม่ (System.in); อินพุตสตริง =sc.nextLine(); //นิพจน์ทั่วไปโดยใช้กลุ่ม String regex ="(?:.*)(\\d+)(.*)"; //การสร้างวัตถุรูปแบบ Pattern pattern =Pattern.compile(regex); //การสร้าง Matcher วัตถุ Matcher matcher =pattern.matcher (อินพุต); บูลีนบูล =matcher.matches (); if(bool) { System.out.println ("พบรายการที่ตรงกัน"); } อื่น { System.out.println ("ไม่พบรายการที่ตรงกัน"); } }}

ผลลัพธ์

ป้อนสตริงอินพุต:นี่คือ 5363 ทดสอบ stringMatch พบ