자바 정규 표현 식 과 웹 페이지 파충류 제작
2917 단어 자바 정규 표현 식
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.csdn.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 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 정규 표현 식 (1)문자열 을 처리 하 는 프로그램 이나 웹 페이지 를 작성 할 때 복잡 한 규칙 에 맞 는 문자열 을 찾 을 필요 가 있 습 니 다.정규 표현 식 은 이 규칙 들 을 설명 하 는 도구 입 니 다.정규 표현 식 은 텍스...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.