특수 문자 [
및 ]
을 사용하는 문자열에 대한 정규 표현식을 만들고 싶습니다.자바 정규식, 표현식에 '['를 추가하는 방법
값은 "[action]"
입니다.
표현식은 "[\\[[\\x00-\\x7F]+\\]]"
입니다.
[
및 ]
앞에 \\
을 추가하여 시도해 보았습니다.
하지만 작동하지 않습니다.
어느 누구도이 문제를 해결할 수 있습니까?
특수 문자 [
및 ]
을 사용하는 문자열에 대한 정규 표현식을 만들고 싶습니다.자바 정규식, 표현식에 '['를 추가하는 방법
값은 "[action]"
입니다.
표현식은 "[\\[[\\x00-\\x7F]+\\]]"
입니다.
[
및 ]
앞에 \\
을 추가하여 시도해 보았습니다.
하지만 작동하지 않습니다.
어느 누구도이 문제를 해결할 수 있습니까?
대괄호 "[]"을 제거하고 싶을 것입니다. \\[
및 \\]
이중 백 슬래시는 문자열에서 단일 백 슬래시를 평가합니다 regexps '에 그들은
대괄호 앞에 하나의 백 슬래시를 붙이면됩니다.
두 개의 백 슬래시가 자동으로 이스케이프되므로 정규식 엔진은 \[
을 확인합니다. [
은 특수 문자입니다.
이 자바 문자열 리터럴, 그래서 그는 하나의 백 슬래시를 보시려면 "정규식 엔진"의 순서를 이중 백 슬래시를 필요로한다. –
아, 내 잘못, 나는 C# 축 어적 문자열에 regexes를 입력하는 데 익숙해 보인다. –
두 개의 백 슬래시 개폐 괄호 전에 동봉 된 문자 중 하나의 선택을 의미한다. 단일 백 슬래시는 대괄호를 이스케이프하므로 문자 클래스를 둘러싼 것으로 해석되지 않습니다. 문자 클래스를 선언 할 괄호에 대한
백 슬래시를 사용하지 않고 다음 Kleene star 연산자는 범위의 문자의 번호와 일치
[a-z]
(당신이 좋아 할 수 있습니다 당신이 어떤 범위뿐만 아니라 a부터 z까지). 내 시스템에서
public class Regexp {
public static void main(final String... args) {
System.out.println("[action]".matches("\\[[a-z]*\\]"));
}
}
:
$ javac Regexp.java && java Regexp
true
이와 같이, "\\\ [[\\ x00 - \\ x7F] + \\\]"처럼 보일 것입니다. – Gunslinger47