2014-10-16 5 views
1

나는이 정규 표현식 개념을 처음 사용합니다. 이 등록 번호를 사용하려고합니다.POSIX 확장 정규 표현식에서 "공백"에 대한 특수 문자/이스케이프 란 무엇입니까?

[^@\s]+$ 

문자열을 "abs"로 지정하면 문자가 's'를 제외합니다. 이것은 '\ s'가 공백 문자가 아닌 문자 's'로 읽히는 것을 의미합니다. 당신이 POSIX와 동등한를 사용할 수있는 날이 문제

+0

제 편집이 올바른지 확인하십시오. 나는'.'이 당신의 정규식의 일부인지는 모르지만 그것이 가능하지 않을 것이라고 생각합니다. 그래서 그것을 제거했습니다. – nhahtdh

+0

감사합니다. '.' 그것의 일부가 아니 었습니다. – user3913114

답변

1

를 해결하기 위해 도와주세요 :

^[^@[:space:]]+$ 

[:space:]는 개행 문자를 포함한 모든 공백과 일치합니다. 일치하는 줄 바꿈을 사용하지 않으려면 대신 [:blank:]을 사용하십시오.

+1

정말 고마워요. 내 코드가 잘 작동하고 있습니다. 고마워. – user3913114

+0

다행이다. 다행이다. – anubhava

+0

안녕하세요 anubhava. POSIX는 유니 코드 정규 표현식을 지원합니까? – user3913114

2

POSIX의 공백 문자 클래스는 경우에, 그래서 당신의 정규식 것, [:space:]입니다 : [:space:] 다른 맛의 \d 또는 \s 같은 외부 [] 독립 할 수없는

[^@[:space:]]+$ 

참고. 공백 문자 클래스 만 있으면 []이어야합니다.

[[:space:]] 
+0

더 자세한 정보를 가져 주셔서 감사합니다. – user3913114