자바 정규 표현 식 단순 사용 및 웹 파충류 제작 코드
1. String 클래스 에서 문자열 을 일치 시 키 고 자 르 는 방법 이 있 습 니 다.
문자열 이 정규 표현 식 과 일치 하 는 지 판단 하기: boolean matches (String regex);
주어진 정규 표현 식 에 따라 문자열 을 자 른 것: String [] split(String regex);
정규 표현 식 에 맞 는 문자열 을 원 하 는 다른 문자열 로 바 꿉 니 다: String replaceAll(String regex,String replacement)
2. 정규 표현 식 에서 자주 사용 하 는 용법 을 소개 한다.
(1)
String regex="[1-9][0-9]{4,15}";
//[1-9] 1-9
//[0-9] 0-9
//{4,15} 4-15
이 정규 표현 식 은 첫 번 째 숫자 는 1 - 9 중 임의의 숫자 여야 하 며, 그 다음 에는 0 - 9 의 숫자 중 하나 가 나타 나 야 하 며, 이 숫자 는 적어도 4 번, 많아야 15 번 이 나타 나 야 한 다 는 뜻 이다.
예:
10175 맞다
10. 일치 하지 않 습 니 다. [0 - 9] {4, 15}, 적어도 4 번 이상 나타 나 야 하기 때문에 여기 서 한 번 밖 에 나타 나 지 않 았 습 니 다.
(2)
[a - zA - Z0 - 9] {6} 은 마침 a - z 또는 A - Z 또는 가 6 번 나타 나 야 한 다 는 뜻 이다. 문자
+ 적어도 한 번 은 나타 나 는
* 0 번 또는 여러 번 나타 남
?한번
(3) 정규 표현 식 에 따라 문자열 을 자 릅 니 다.
String str="sjd.ksdj.skdjf";
String regex="\\.";
주의: . 정규 표현 식 에 서 는 표 식 의 임의의 문자 로 특수 한 기호 입 니 다.자 르 려 면 일반 문자 로 바 꿔 야 합 니 다. \ \ \ 를 사용 하면 됩 니 다.
특수 기호 이기 때문에 두 개 로 표시 해 야 합 니 다.우리 가 보통 \ 를 사용 하려 면 \ \ \ \ 로 표시 해 야 합 니 다.
String[] ss=str.split(regex); 문자열 배열 되 돌려 주기: "sjd" "ksdj" "skdjf" 기 존 문자열 에 대한 절단 을 실현 하 였 습 니 다.
(4) 정규 표현 식 에 따라 우리 가 바 꾸 고 싶 은 것 을 교체 합 니 다.
문자열 에 연속 으로 5 개 이상 나타 나 는 모든 숫자 문자열 을 \ # 로 바 꿉 니 다.
String str="abcd1334546lasjdfldsf2343424sdj";
String regex="[0-9]{5,}";
String newstr=str.replaceAll(regex,"#");
(5) 정규 표현 식 규칙 에 맞 는 문자열 가 져 오기
Pattern p=Pattern.compile(String regex);
Matcher m=p.matcher(String str);
while(m.find())
{
System.out.println(m.group());
}
3. 홈 페이지 파충류 만 들 기
우 리 는 웹 페이지 의 모든 메 일 을 읽 고 꺼 내 텍스트 파일 에 저장 할 수 있 는 메 일 을 만 들 었 다.
/*
:
*/
import java.io.*;
import java.util.regex.*;
import java.net.*;
class MailTest
{
public static void main(String[] args) throws Exception
{
getMailAddr();
}
public static void getMailAddr()throws Exception
{
URL url=new URL("http://bbs.jb51.net/topics/390148495");
URLConnection con=url.openConnection();
BufferedReader bufIn=new BufferedReader(new InputStreamReader(con.getInputStream()));
BufferedWriter bufw=new BufferedWriter(new FileWriter(new File("e://mailaddress.txt")));
String str=null;
String regex="[a-zA-Z0-9_]{6,12}@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
Pattern p=Pattern.compile(regex);
while((str=bufIn.readLine())!=null)
{
Matcher m=p.matcher(str);
while(m.find())
{
String ss=m.group();
bufw.write(ss,0,ss.length());
bufw.newLine();
bufw.flush();
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.