아니면, 입력될때의 언어코드에서(utf-8혹은 euc-kr등등..) 에서 한글, 영문, 숫자를 제외한 나머지 모든 문자를 일컫는 것인지...
전자같으면 정규표현식으로 구현해도 무방하겠지만 후자같으면 그 갯수가 워낙 많을것이므로 프로그램적으로 구현하셔야 할 것 같으네요. (코드값의 범위를 이용하는 방식이 좋지 않을까 싶군요)
전자의 방식같으면..
대충 의사코드적으로 의미만 전달한다면,
string S = "입력문자열"
string Regex = "[*^=.]" // 원하는 모든 특수문자를 [] 속에 열거
// [] 안에서는 '^'나(맨첨에올때) '-' 를 제외하고는 모두 일반문자 취급됨
if (regexMatch(S, Regex) == true) {
cout << "특수문자 있음" << endl;
}
일단 어떤 특수문자를 말하는지 모르겠군요.이를테면 키보드에서 입력
일단 어떤 특수문자를 말하는지 모르겠군요.
이를테면 키보드에서 입력가능한 특수문자만 일컫는것인지...
아니면, 입력될때의 언어코드에서(utf-8혹은 euc-kr등등..) 에서 한글, 영문, 숫자를 제외한 나머지 모든 문자를 일컫는 것인지...
전자같으면 정규표현식으로 구현해도 무방하겠지만 후자같으면 그 갯수가 워낙 많을것이므로 프로그램적으로 구현하셔야 할 것 같으네요. (코드값의 범위를 이용하는 방식이 좋지 않을까 싶군요)
전자의 방식같으면..
대충 의사코드적으로 의미만 전달한다면,
뭐 이러면 될것입니다만,
음, 너무 기본적인 답이었나 모르겠군요. 아마 이렇게는 해보셨을것 같습니다만.
$reg = "[!@#$%^&*()_+|\-=\\\';\\":/.
$reg = "[!@#$%^&*()_+|\-=\\\';\\":/.,?><\[\]\{\}`~]"
위 처럼 대괄호 [ ] 안에 특수문자를 나열하세요.
이런건 정규표현식 조금만 공부해도 알 수 있는건데...
이런 답변을 원하시는게 아닐 수도 있겠네요.
흠...
제가 php를 한번도 안 써봐서 잘 모르겠지만,
특수문자에 해당하는 문자클래스를 쓰면 되지 않을까요?
grep같으면,
grep [[:punct:]] test_file
이렇게요.
위에서 [:punct:]가 문자클래스입니다.
과자가 아닙니다.
cuckoo dozen, 즉.12마리의 뻐꾸기란 뜻입니다.
댓글 달기