java - 정규식 - 자바스크립트 정규표현식



Java RegEx 메타 문자(.)와 일반 점? (6)

". *"로 끝나는 문자열을 찾으려고했는데 다음과 같이 사용해야했습니다.

"^.*\\.\\*$"

만약 당신이 그것에 대해 생각한다면 어리석은 생각을해라. 문자열의 시작 부분에 0 개 이상의 문자가 올 수 있고 그 뒤에 점 "."이 올 수 있습니다. 문자열 끝에 별표 (*)가옵니다.

나는 이것이 누군가에게 도움이되기를 바랍니다. Fabian에게 백 슬래시가 생겨서 고마워.

Java RegEx에서 차이점을 찾는 방법 . 우리가 어떤 문장에서 사용 하듯이 메타 문자와 정상적인 도트 (점). ( * , + , /d , ...)와 같은 다른 메타 문자에 대해서도 이러한 상황을 어떻게 처리 할 것인가?


JGrasp에서 일부 기본 배열을 수행하고 있는데 char [] [] 배열에 대한 접근 자 메서드 ( '.')를 사용하여 단일 점을 배치하는 것으로 나타났습니다.


문장의 끝이 ". "로 끝나는 지 확인하려면 끝 부분 에 [\. \ ] $를 추가 해야합니다.


붙여 넣기를 직접 복사 할 수있는 코드는 다음과 같습니다.

String imageName = "picture1.jpg";
String [] imageNameArray = imageName.split("\\.");
for(int i =0; i< imageNameArray.length ; i++)
{
   system.out.println(imageNameArray[i]);
}

실수로 앞뒤에 공백이 있으면 어떻게됩니까? " 그런 경우는? 이러한 공간을 고려하는 것이 항상 최선의 방법입니다.

String imageName = "picture1  . jpg";
String [] imageNameArray = imageName.split("\\s*.\\s*");
    for(int i =0; i< imageNameArray.length ; i++)
    {
       system.out.println(imageNameArray[i]);
    }

여기서 \\ s *는 공백을 고려하고 필요한 분할 문자열 만 제공합니다.


정규 표현식에서 점이나 다른 문자가 특별한 의미로 일반 문자가되도록하려면 백 슬래시로 이스케이프 처리해야합니다. Java의 정규 표현식은 일반적인 Java 문자열이므로 백 슬래시 자체를 이스케이프 처리해야하므로 백 슬래시 두 개 (예 : \\. 가 필요합니다 \\.


특수 문자를 백 슬래시로 이스케이프합니다. \. , \* , \+ , \\d 등등. 확실하지 않은 경우 알파벳이 아닌 특수 문자는 특수 문자인지 여부에 관계없이 탈출 할 수 있습니다. 자세한 정보 는 java.util.regex.Pattern에 대한 javadoc을 참조하십시오.





regex