자바 정규 표현 식 (일치, 절단, 교체, 가 져 오기) 등 방법
역할: 문자열 전문 조작 에 사용
특징: 특정한 기호 에 사용 하여 코드 조작 을 나타 내 는데 이렇게 하면 글 씨 를 간소화 하고 주로 특수 기호의 사용 을 배 우 는 것 이다.
장점: 문자열 에 대한 복잡 한 조작 을 간소화 할 수 있 습 니 다.
단점: 기호 정의 가 많 을 수록 정규 가 길 어 지고 읽 기 가 떨어진다.
구체 적 인 조작:
1. 매 칭: String matches 방법
모든 문자열 에 규칙 으로 일치 합 니 다. 일치 하지 않 는 문자열 이 있 으 면 일치 가 끝 납 니 다.
2. 절단: String sqlit ();
3. 교체: replaceAll ();
4. 가 져 오기: 규칙 에 맞 는 문자열 을 가 져 옵 니 다.
작업 단계:
우선 정규 표 대 식 을 대상 으로 봉 한다.
그리고 정규 대상 을 조작 할 문자 여 와 연결 합 니 다.
다음, 연결 후 정규 일치 하 는 엔진 가 져 오기
마지막 으로 엔진 을 통 해 규칙 에 맞 는 하위 문자열 을 조작 합 니 다.
public class RegexDemo {
public static void main(String[] args){
//checkQQ_1();
//checkqq();
//Demo();
//checkTel();
//splitDemo();//
String str="oadi3298324892adkal309290kdoda300000";// #
replaceAllDemo(str,"\\d{7,}","#");
String str1="aadkkkaooelliwoonbvxkksoll";// &
replaceAllDemo(str1,"(.)\\1+","&");
String str2="aadkkkaooelliwoonbvxkksoll";//
replaceAllDemo(str1,"(.)\\1+","$1");// $,$1
}
/*
QQ
, String , ,
*/
public static void checkQQ_1(){
String qq="a12345455";
int len=qq.length();
if(len>=5&&len<=15){
if(!qq.startsWith("0")){
// char[] arr=qq.toCharArray();//
// boolean flag=true;
// for(int x=0;x='0'&&arr[x]<='9')){
// flag=false;
// break;
// }
// }
// if(flag){
// System.out.println("qq:"+qq);
// }
// else{
// System.out.println(" ");
// }
try {
long l=Long.parseLong(qq);
System.out.println("qq:"+l);
} catch (Exception e) {
System.out.println(" ");
}
}
else{
System.out.println(" 0 ");
}
}
}
public static void checkqq(){
String qq="1882345";
String regex="[1-9]\\d{4,14}";//
Boolean flag=qq.matches(regex);
if(flag){
System.out.println(qq+"...is ok");
}else{
System.out.println(qq+"...is not ok");
}
}
public static void Demo(){
String str="c";
String reg="[bcd][a-zA-Z]\\d";//\\d :[0-9]
// , , , , ,
// \d*,
boolean b=str.matches(reg);
System.out.println(b);
}
/*
* 13xxxx,15xxx ,18xx
*/
public static void checkTel(){
String tel="13900008792";
String telReg="1[358]\\d{9}";
System.out.println(tel.matches(telReg));
}
public static void splitDemo(){
String str="zhangsan lisi wangxu";
String reg=" +";// , , ,
// , 。 .
// . , 。 String reg="\\."
// \\, (c:\\abc\\a.txt), String reg="\\\\"
// sqltDemo("ddkdakfdssieowor","(.)\\1)"); . ,\1
// ddd ssss ttttt , "+", "(.)\\1+)" , "+"
String [] arr=str.split(reg);
for(String s:arr){
System.out.println(s);
}
}
public static void replaceAllDemo(String str,String reg,String newStr){
str=str.replaceAll(reg, newStr);
System.out.println(str);
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexDemo2 {
public static void main(String [] args){
getDemo();
}
public static void getDemo(){
String str="ming tian jiu yao fang jia le,da jia";
//str="123456";
String reg="\\b[a-z]{3}\\b";//
// 。
Pattern p=Pattern.compile(reg);
// , 。 。
//
Matcher m=p.matcher(str);
//System.out.println(m.matches());// String matches , Pattern Matcher 。
// String , , , , matches
//boolean b=m.find();// , 。
//System.out.println(b);
//System.out.println(m.matches());// , , , ,m.matcher() ,
// false, ming true, find, tian 。
while(m.find()){
System.out.println(m.group());
System.out.println(m.start()+"...."+m.end());//
}
//group
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.