Programming

정규식, 공백이나 콜론을 제외한 모든 영숫자가 아닌 문자

procodes 2020. 7. 26. 13:23
반응형

정규식, 공백이나 콜론을 제외한 모든 영숫자가 아닌 문자


어디에서 나이 작업을 수행하는 방법을 알 수없는 것 같습니다. 어떤 도움?

기본적으로 앰퍼샌드, 세미콜론, 달러 기호 등과 같은 모든 종류의 기타 문자를 일치 시키려고합니다.


[^a-zA-Z\d\s:]
  • \ d-숫자 클래스
  • \ s-공백
  • a-zA-Z-모든 문자와 일치
  • ^-모두 무시합니다-숫자가 아닌 문자, 공백이 아닌 콜론

이것은해야합니다 : [^a-zA-Z\d\s:]그것이 도움이되기를 바랍니다!


이 시도

[^a-zA-Z0-9 :]

JS 예 :

"!@#$%* ABC def:123".replace(/[^a-zA-Z0-9 :]/g, ".")

온라인 예를 참조하십시오.

http://jsfiddle.net/vhMy8/


악센트가있는 라틴 문자 (예 : à)를 일반 문자로 취급하려면 (예 : 일치하지 않도록 ) 정규식에 적절한 유니 코드 범위 ( \ u00C0- \ u00FF ) 도 포함시켜야 합니다. 다음과 같이 보일 것입니다 :

/[^a-zA-Z\d\s:\u00C0-\u00FF]/g
  • ^ 다음에 나오는 것을 부정하다
  • a-zA-Z 대소 문자와 일치
  • \d 숫자와 일치
  • \s 공백과 일치합니다. 공백 만 일치 시키려면 공백으로 바꾸십시오.
  • : 콜론과 일치
  • \u00C0-\u00FF 강조된 라틴 문자의 유니 코드 범위와 일치합니다.

nb. 유니 코드 범위 일치는 모든 정규식 엔진에서 작동하지 않을 수도 있지만 위의 코드 에서 볼 수 있듯이 위의 Javascript에서는 확실히 작동합니다 .

nb2. 당신이 일치하는 밑줄 대해 방해하지 않는 경우, 당신은 대체 할 수 a-zA-Z\d\w문자, 숫자 및 밑줄 일치하는.


영숫자, 공백 또는 '_'가 없습니다.

var reg = /[^\w\s)]|[_]/g;

"영숫자가 아닌 문자"를 의미하는 경우이를 사용하십시오.

var reg =/[^a-zA-Z0-9]/g         //[^abc] 

이것을 추가하십시오

^[^a-zA-Z\d\s:]*$

이것은 나를 위해 일했다 ... :)


"0_0 (: /-\ :) 0-0".replace(/[^a-zA-Z0-9 :]/g,"")

나를 위해 일했다. 하나,

replace(/[^a-zA-Z/d :]/g,"")

나를 위해 일하지 않았다.

참고 URL : https://stackoverflow.com/questions/6053541/regex-every-non-alphanumeric-character-except-white-space-or-colon

반응형