예 : if(str.matches(".*\\d.*"))
"\ d"는 java에서 어떻게 작동합니까?
최근에 배열 값에 숫자가 포함되어 있는지 확인하기 위해 사용했습니다.
뒤에있는 논리는 무엇입니까? .* .*
이있는 이유는 무엇입니까? \\d
의 의미는 무엇입니까?
편집 : 모두에게 감사합니다! 빠른 응답 :
예 : if(str.matches(".*\\d.*"))
"\ d"는 java에서 어떻게 작동합니까?
최근에 배열 값에 숫자가 포함되어 있는지 확인하기 위해 사용했습니다.
뒤에있는 논리는 무엇입니까? .* .*
이있는 이유는 무엇입니까? \\d
의 의미는 무엇입니까?
편집 : 모두에게 감사합니다! 빠른 응답 :
이것은 정규 표현식입니다.
.
는*
의미 모든 문자를 (0을 포함!) [그 전에 정규]\\d
이다그래서, ID 당신이 모두 함께 넣어 숫자를 임의의 숫자를 의미 이 정규식은 다음을 포함하는 문자열과 일치합니다. 임의의 숫자의 문자, 그 다음 숫자 및 임의의 숫자의 문자. 우리가이 "형식적인"설명을 사람이 읽을 수있는 것으로 해석한다면, 어딘가에 숫자가있는 문자열을 의미합니다.
\ d는 '\'가 이스케이프 시퀀스이므로 임의의 숫자가있는 것을 의미하므로 '\\'
이 사용됩니다.
C#에서,
*
문자의 수를 나타낸다 당신은 또한 @".*\d.*"
(자바 확실하지 않음을하지만 난 그것을 작동한다고 생각)을 사용할 수 있습니다.
.
기호는 개행을 제외한 모든 문자와 일치합니다.*
은 0 번 이상 문자를 반복합니다.\d
은 임의의 숫자와 일치합니다. \\d
에있는 \
은 문자열에서 백 슬래시를 이스케이프하는 데 사용됩니다.그래서 .\\d.
은 단일 문자, 숫자 및 모든 단일 문자와 일치합니다. 그것은 일치 다음 a1b
, p3k
, &[email protected]
.*\\d.*
일치하는 0 개 이상의 문자, 숫자, 0 개 이상의 문자. 당신이 1 개 이상의 문자를 일치 시키려면 2
, 11
, 123
, asdf6klj
사용할 수 +
, {2,}
, {3,5}
등 : 그것은 다음과 일치합니다
+
은 이전 문자를 1 번 이상 반복한다는 것을 의미합니다.
{2, }
은 이전 문자를 두 번 이상 반복한다는 의미입니다.
{3, 5}
은 이전 문자를 3-5 회 반복한다는 것을 의미합니다.
http://www.tutorialspoint.com/java/java_regular_expressions.htm
하면 사용하는 방법에 대한 JavaDoc을보고 봤어 :
은 자세한 내용 당신은 여기에 많은 정규식 자습서를 검토 할 수 있습니다? 힌트! –
아아 나는 그것을 찾으려고 노력했지만 어떤 이유로 javadocs 패턴이 나타나지 않았다. 가장 직관적 인 대답을 얻을 수 있는지 여기에서 묻고 싶습니다. 힌트를 가져 주셔서 감사합니다. –
[참고 -이 정규식의 의미는 무엇입니까?] (http://stackoverflow.com/questions/22937618/reference-what-does-this-regex-mean) – nhahtdh