자바 정규 표현식 튜토리얼을 읽었으며 패턴 일치 여부를 테스트하는 것으로 만 보이지만 일치 패턴을 나타내는 방법은 알려주지 않습니다.Java의 정규 표현식 : "일치 패턴"을 참조하는 방법?
예를 들어, "My name is xxxxx"라는 문자열이 있습니다. 그리고 xxxx를 인쇄하고 싶습니다. Java 정규 표현식으로 어떻게 처리 할 수 있습니까?
감사합니다.
자바 정규 표현식 튜토리얼을 읽었으며 패턴 일치 여부를 테스트하는 것으로 만 보이지만 일치 패턴을 나타내는 방법은 알려주지 않습니다.Java의 정규 표현식 : "일치 패턴"을 참조하는 방법?
예를 들어, "My name is xxxxx"라는 문자열이 있습니다. 그리고 xxxx를 인쇄하고 싶습니다. Java 정규 표현식으로 어떻게 처리 할 수 있습니까?
감사합니다.
? 태양의 이야기는 그 주제를 아주 철저하게 다룬다. 그러나 정확하게 읽어야한다. :)
괄호를 통해 문자열의 일부분을 캡처한다. 문자열에서 그룹을 캡처하려면이 정규 표현식 부분을 괄호 안에 넣어야합니다. 그룹은 괄호가 나타나는 순서대로 정의되며 인덱스가 0 인 그룹은 전체 문자열을 나타냅니다. 예컨대
, 정규 표현식 "날 ([0-9] +) - 주 ([0-9] +)"3 개 그룹을 정의 할 것이다 :
는 Java 문서를 살펴, 특히 매처 클래스와 그 그룹 방법이 : http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Matcher.html이
당신은 테스트 할 수 있습니다 당신의 그 매우 유용한 도구로 regexps '에이 도움이 http://www.cis.upenn.edu/~matuszek/General/RegexTester/regex-tester.html
희망, 건배
당신은 Matcher
group(int)
방법을 사용할 수 있습니다 :
Pattern p = Pattern.compile("My name is (.*)");
Matcher m = p.matcher("My name is akf");
m.find();
String s = m.group(1); //grab the first group*
System.out.println(s);
출력 :
akf
주 패턴에서 괄호를 사용하여보고 Matcher
에 group()
방법
import java.util.regex.*;
public class Example {
static public void main(String[] args) {
Pattern regex = Pattern.compile("My name is (.*)");
String s = "My name is Michael";
Matcher matcher = regex.matcher(s);
if (matcher.matches()) {
System.out.println("original string: " + matcher.group(0));
System.out.println("first group: " + matcher.group(1));
}
}
}
출력은 다음과 같습니다 당신이 읽고 있었다 무엇 튜토리얼
original string: My name is Michael
first group: Michael
Matcher m = Pattern.compile("name is (.*)").matcher("My name is Ross");
if (m.find()) {
System.out.println(m.group(0));
System.out.println(m.group(1));
}
괄호는 캡처 그룹을 형성. 그룹 0은 전체 패턴이며 그룹 1은 백 참조입니다.
위 프로그램의 출력은 :
name is Ross
Ross
나는 그룹의 개념을 이해하지 않습니다. "My name is Michael Jackson, 그의 이름은 Barack Obama입니다."라는 문자열이 있다고 가정 해 봅니다. 그리고 나는 "마이클 잭슨"과 "버락 오바마"를 붙잡고 싶다. 나는 그것을 어떻게합니까? – Saobi
@Saobi : 괄호에주의하십시오 !!!! –
확인. 알았다. 나는 더 열심히 하나 더 가지고있다 : xxxxxxxxx (살고있는 단어의 숫자가 될 수 있 었는가?) 라이브 또는 죽었습니까? 캡처하고 싶습니다 : xxxxxx, live, die. 어떻게해야합니까? – Saobi