


Vergleichs-, Ersetzungs-, Such- und Ausschneidemethoden für reguläre Ausdrücke in JAVA
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.split(" ")按照空格截取
str.split("cc+")按照c字符来截取,2个c或以上
str.split((1)\\.+)按照字符串中含有2个字符或以上的地方截取(1)表示分组为1
截取的例子;
按照分组截取;截取的位置在两个或两个以上的地方
String str = "publicstaticccvoidddmain"; //对表达式进分组重用 String ragex1="(.)\\1+"; String[] ss = str.split(ragex1); for(String st:ss){ System.out.println(st); } //按照两个cc+来截取 String ragex = " "; //切割 String strs = "publicstaticccvoidddmain"; String ragexs = "cc+"; String[] s = strs.split(ragexs); for(String SSSS :s){ System.out.println(SSSS); } System.out.println("=-=========");
正则表达式中的替换;
语法定义规则;
String s =str.replaceAll(ragex, newstr);
字符串中的替换是replace();
将4个或4个以上的连续的数字替换成*
// 替换 String str="wei232123jin234"; String ragex = "\\d{4,}"; String newstr = "*"; String s =str.replaceAll(ragex, newstr); System.out.println(s);
将重复的字符串换成一个*
String str ="wwweiei222222jjjiiinnn1232"; String ragex ="(.)\\1+"; String newStr ="*"; String s = str.replaceAll(ragex, newStr); System.out.println(s);
将 我...我...要..要.吃...吃...饭 换成 我要吃饭
String str = "我...我...要..要.吃...吃...饭"; String regex = "\\.+"; String newStr = ""; str=test(str, regex, newStr); regex = "(.)\\1+"; newStr = "$1"; test(str, regex, newStr); public static String test(String str, String regex, String newStr) { String str2 = str.replaceAll(regex, newStr); System.out.println(str2); return str2; }
正则表达式的字符串的获取
1,根据定义的正则表达式创建Pattern对象
2,使用Pattern对象类匹配
3,判断是否为true
4,加入到组
例子;
String str = "public static void main(String[] args)" + " public static void main(String[] args)public static void main(String[] args)"; String ragex = "\\b[a-zA-Z]{4,5}\\b"; Pattern p =Pattern.compile(ragex); Matcher m = p.matcher(str); while(m.find()){ String s = m.group(); System.out.println(s); }
作业:
1,获取user中的user
String str ="<html>user</html>"; String regex = "<html>|</html>"; String newStr = ""; String str2 = str.replaceAll(regex, newStr); System.out.println(str2);
2,获取dhfjksaduirfn 11@qq.com dsjhkfa wang@163.com wokaz中的邮箱号码
String regex = " "; String[] strs=str.split(regex); for(String str2:strs){ String ragexDemo = "[a-zA-Z0-9]([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*" + "@([a-zA-Z0-9]+)\\.[a-zA-Z]+\\.?[a-zA-Z]{0,2}"; Pattern p = Pattern.compile(ragexDemo); Matcher m = p.matcher(str2); while(m.find()){ System.out.println(m.group()); } }
示例代码:
import java.util.ArrayList; import java.util.regex.Matcher; import java.util.regex.Pattern; public class test { public static void main(String[] args) { getStrings(); //用正则表达式获取指定字符串内容中的指定内容 System.out.println("********************"); replace(); //用正则表达式替换字符串内容 System.out.println("********************"); strSplit(); //使用正则表达式切割字符串 System.out.println("********************"); strMatch(); //字符串匹配 } private static void strMatch() { String phone = "13539770000"; //检查phone是否是合格的手机号(标准:1开头,第二位为3,5,8,后9位为任意数字) System.out.println(phone + ":" + phone.matches("1[358][0-9]{9,9}")); //true String str = "abcd12345efghijklmn"; //检查str中间是否包含12345 System.out.println(str + ":" + str.matches("\\w+12345\\w+")); //true System.out.println(str + ":" + str.matches("\\w+123456\\w+")); //false } private static void strSplit() { String str = "asfasf.sdfsaf.sdfsdfas.asdfasfdasfd.wrqwrwqer.asfsafasf.safgfdgdsg"; String[] strs = str.split("\\."); for (String s : strs){ System.out.println(s); } } private static void getStrings() { String str = "rrwerqq84461376qqasfdasdfrrwerqq84461377qqasfdasdaa654645aafrrwerqq84461378qqasfdaa654646aaasdfrrwerqq84461379qqasfdasdfrrwerqq84461376qqasfdasdf"; Pattern p = Pattern.compile("qq(.*?)qq"); Matcher m = p.matcher(str); ArrayList<String> strs = new ArrayList<String>(); while (m.find()) { strs.add(m.group(1)); } for (String s : strs){ System.out.println(s); } } private static void replace() { String str = "asfas5fsaf5s4fs6af.sdaf.asf.wqre.qwr.fdsf.asf.asf.asf"; //将字符串中的.替换成_,因为.是特殊字符,所以要用\.表达,又因为\是特殊字符,所以要用\\.来表达. str = str.replaceAll("\\.", "_"); System.out.println(str); } }
更多JAVA中正则表达式匹配,替换,查找,切割的方法相关文章请关注PHP中文网!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Fehlerbehebung und Lösungen für die Sicherheitssoftware des Unternehmens, die dazu führt, dass einige Anwendungen nicht ordnungsgemäß funktionieren. Viele Unternehmen werden Sicherheitssoftware bereitstellen, um die interne Netzwerksicherheit zu gewährleisten. ...

Bei Verwendung von MyBatis-Plus oder anderen ORM-Frameworks für Datenbankvorgänge müssen häufig Abfragebedingungen basierend auf dem Attributnamen der Entitätsklasse erstellt werden. Wenn Sie jedes Mal manuell ...

Die Verarbeitung von Feldzuordnungen im Systemdocken stößt häufig auf ein schwieriges Problem bei der Durchführung von Systemdocken: So kartieren Sie die Schnittstellenfelder des Systems und ...

Beginnen Sie den Frühling mit der Intellijideaultimate -Version ...

Konvertierung von Java-Objekten und -Arrays: Eingehende Diskussion der Risiken und korrekten Methoden zur Konvertierung des Guss-Typs Viele Java-Anfänger werden auf die Umwandlung eines Objekts in ein Array stoßen ...

Lösungen zum Umwandeln von Namen in Zahlen zur Implementierung der Sortierung in vielen Anwendungsszenarien müssen Benutzer möglicherweise in Gruppen sortieren, insbesondere in einem ...

Wie konvertieren Sie Namen in Zahlen, um Sortieren innerhalb von Gruppen zu implementieren? Bei der Sortierung von Benutzern in Gruppen ist es häufig erforderlich, den Namen des Benutzers in Zahlen umzuwandeln, damit er anders sein kann ...

Wie erkennt die Redis -Caching -Lösung die Anforderungen der Produktranking -Liste? Während des Entwicklungsprozesses müssen wir uns häufig mit den Anforderungen der Ranglisten befassen, z. B. das Anzeigen eines ...
