정규 표현 식 의 논리 나 ("|") 의 한 가지 비결

1159 단어 정규 표현 식
정규 표현 식 의 논리 나 ("|"), 좀 재 미 있 네요. 연 구 했 어 요.
 
public class OrTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "abc|ass|sdf"; 
		String[] temp =  str.split("|"); 
		System.out.println("------"+temp.length); 
	}
}

 
실행 결과:
------12 。
 
이 를 통 해 알 수 있 듯 이 원래 '|' 은 정규 표현 식 에서 전의 가 필요 하 다. 그래서:
public class OrTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String str = "abc|ass|sdf"; 
		String[] temp =  str.split("\\|"); 
		System.out.println("------"+temp.length); 
	}
}

  실행 결과:
------3        원 하 는 결 과 를 얻 었 으 니,
 
그런데 자세히 보 니 첫 번 째 가 어떻게 12 일 까요? 모두 '|' 이 11 글자 밖 에 안 되 는데 요.
연구 결과, 원래 String [] temp =  str.split("|");사실 String [] temp =  str.split("");
str 를 빈 문자열 로 나 누 면 첫 번 째 문 자 는 '' (빈 문자열) 입 니 다. 이 를 통 해 알 수 있 듯 이 많은 문 자 는 좌표 가 0 인 빈 문자 입 니 다.
꿰미

좋은 웹페이지 즐겨찾기