약간은을 감지하기 위해 사용해야하는 RegExp와 혼동 스럽습니다. 실제로이 조합을 유효한 것으로 전달하지만 동시에 "-_","_-"
도 유효성이 확인됩니다. 뭔가 빠져 있거나 제대로 빠져 나오지 못하고 있습니까?"-.", "-."을 탐지하기위한 JS - RegExp.
var reg=new RegExp("(\.\-)|(\-\.)");
실제로 어떤 조합이든 '-'
이 전달됩니다. 그것
모두에게 감사를 얻었다.
약간은을 감지하기 위해 사용해야하는 RegExp와 혼동 스럽습니다. 실제로이 조합을 유효한 것으로 전달하지만 동시에 "-_","_-"
도 유효성이 확인됩니다. 뭔가 빠져 있거나 제대로 빠져 나오지 못하고 있습니까?"-.", "-."을 탐지하기위한 JS - RegExp.
var reg=new RegExp("(\.\-)|(\-\.)");
실제로 어떤 조합이든 '-'
이 전달됩니다. 그것
모두에게 감사를 얻었다.
당신이 표기법을 사용, 당신은 .
있도록 한 백 슬래시로 이스케이프되지 않습니다 따옴표를 사용하는
"(\\.-)|(-\\.)"
클리어링을위한 Thx 위로, 많은 의무 – Sleeperson
/
대신 RegExp 생성자가있는 문자열을 사용하고 있으므로 두 번 이스케이프 처리해야합니다.
>>> "asd_-ads".search("(\.\-)|(\-\.)")
3
>>> "asd_-ads".search(/(\.\-)|(\-\.)/)
-1
>>> "asd_-ads".search(new RegExp('(\\.\-)|(\-\\.)'))
-1
이것들은''구분 기호 ''가 아닙니다''''''는'** '를 표현식에 사용하기 때문에 이스케이프해야합니다 –
@Felix 더 정확한 방식으로 설명 드리겠습니다 – sapht
를 사용해야합니다 :
표기/(\.\-)|(\-\.)/
에서
var reg = /(\.\-)|(\-\.)/;
, 그 표현은 옳을 것이다. 사용자가 선택한 표기법에서 모든 백 슬래시는 여전히 \\
, \n
과 같이 자체의 특별한 의미를 갖고 있기 때문에 이중화해야합니다. 당신이 일치하는 항목을 차별화 할 필요가없는 경우에만 경기를 확인하려면 var reg = new RegExp("(\\.-)|(-\\.)");
, 당신은 모든 단일 둘러싸고 캡처, 또는 없음을 사용할 수 있습니다
참고 여기에 대시를 탈출 할 필요가 없다 : "\\.-|-\\."
은 여전히 유효합니다.
결과 표현을 알고 싶다면 콘솔에'RegExp ("(\. \ -) | (\ - \.)")'를 복사하십시오. 출력은'/(.-) | (-.) /'이고'.'는 모든 문자와 일치합니다. –