Tutorial Contoh Ungkapan Biasa Java
Ungkapan Biasa (Ekspresi Biasa) ialah alat yang berkuasa untuk memadankan rentetan, ia boleh mencari, memadankan dan Mengganti, mengekstrak dan operasi lain dengan cepat. Dalam pembangunan Java, ungkapan biasa digunakan secara meluas dalam pemprosesan rentetan, pengesahan borang, pengekstrakan data dan medan lain.
Artikel ini akan membawa anda memahami penggunaan ungkapan biasa dalam Java melalui beberapa contoh kod tertentu.
Mula-mula, mari lihat contoh mudah untuk menentukan sama ada rentetan mematuhi peraturan ungkapan biasa. Kod berikut menunjukkan cara menggunakan ungkapan biasa dalam Java untuk pertimbangan yang sepadan:
import java.util.regex.Pattern; import java.util.regex.Matcher; public class RegexExample { public static void main(String[] args) { String regex = "\d+"; // 匹配数字的正则表达式 String text = "12345"; // 使用Pattern类和Matcher类进行匹配判断 Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(text); if (matcher.matches()) { System.out.println("字符串匹配成功"); } else { System.out.println("字符串匹配失败"); } } }
Kod di atas mula-mula mentakrifkan ungkapan biasa d+
yang sepadan dengan nombor, dan kemudian menggunakan compile< Corak kelas Kaedah /code> disusun menjadi objek Corak. Seterusnya, cipta objek Matcher melalui objek Pattern dan gunakan kaedah <code>match
untuk menentukan padanan. Jika perlawanan berjaya, cetak "Padanan rentetan berjaya", jika tidak cetak "Padanan rentetan gagal". d+
,然后使用Pattern类的compile
方法编译成Pattern对象。接着,通过Pattern对象创建Matcher对象,并使用matches
方法进行匹配判断。如果匹配成功,打印“字符串匹配成功”,否则打印“字符串匹配失败”。
除了判断是否匹配,正则表达式还可以用于查找与提取符合规则的子字符串。以下代码演示了如何使用正则表达式在文本中查找与提取URL链接:
import java.util.regex.Pattern; import java.util.regex.Matcher; import java.util.List; import java.util.ArrayList; public class RegexExample { public static void main(String[] args) { String regex = "https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?"; // 匹配URL链接的正则表达式 String text = "Visit my website at https://www.example.com"; // 使用Pattern类和Matcher类进行查找和提取 Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(text); List<String> urls = new ArrayList<>(); while (matcher.find()) { String url = matcher.group(); urls.add(url); } System.out.println("找到以下URL链接:"); for (String url : urls) { System.out.println(url); } } }
以上代码使用了一个匹配URL链接的正则表达式 https?://([w-]+.)+[w-]+(/[w-./?%&=]*)?
,然后使用Matcher类的find
方法查找与提取符合正则表达式的子字符串。每次找到匹配的子字符串后,将其添加到列表中,最后打印出所有找到的URL链接。
除了查找与提取,正则表达式还可以用于替换和分割字符串。以下代码演示了如何使用正则表达式替换文本中的敏感词,并使用正则表达式分割句子:
import java.util.regex.Pattern; public class RegexExample { public static void main(String[] args) { String regex = "badword1|badword2"; // 匹配敏感词的正则表达式 String text = "This is a badword1 and badword2 example"; // 使用正则表达式进行替换 String replacedText = text.replaceAll(regex, "***"); System.out.println("替换后的文本:" + replacedText); // 使用正则表达式进行分割 String[] sentences = text.split("[.!?]"); System.out.println("分割后的句子:"); for (String sentence : sentences) { System.out.println(sentence.trim()); } } }
以上代码首先定义了一个匹配敏感词的正则表达式 badword1|badword2
,然后使用replaceAll
方法进行替换操作。将文本中的敏感词替换为***
,并打印替换后的文本。
接着,使用split
方法和正则表达式 [.!?]
find
kelas Matcher untuk mencari dan mengekstrak subrentetan yang sepadan dengan biasa. ungkapan . Setiap kali subrentetan yang sepadan ditemui, ia ditambahkan pada senarai dan akhirnya semua URL yang ditemui dicetak. 🎜badword1|badword2
, dan kemudian gunakan kaedah replaceAll
untuk melaksanakan operasi gantian. Gantikan perkataan sensitif dalam teks dengan ***
dan cetak teks yang diganti. 🎜🎜Seterusnya, gunakan kaedah split
dan ungkapan biasa [.!?]
untuk melaksanakan operasi membelah, bahagikan teks kepada berbilang ayat berdasarkan tanda baca dan cetak setiap ayat . 🎜🎜Di atas ialah contoh tutorial tentang ungkapan biasa Java Melalui contoh kod tertentu, ia memperkenalkan penggunaan asas ungkapan biasa saya harap ia akan membantu semua orang memahami dan menguasai aplikasi ungkapan biasa dalam pembangunan Java. 🎜Atas ialah kandungan terperinci Contoh tutorial untuk mempelajari ungkapan biasa Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!