나는 JavaScript에 대한 경험이 많지 않지만 @
또는 을 사용하는 대신을 사용하는 태그 시스템을 만들려고 #
합니다 /
.
var start = /#/ig; // @ Match
var word = /#(\w+)/ig; //@abc Match
어떻게 사용할 수있는 /
대신의 #
. 나는 var slash = '/'
하고 추가 하려고 시도 + slash +
했지만 실패했습니다.
나는 JavaScript에 대한 경험이 많지 않지만 @
또는 을 사용하는 대신을 사용하는 태그 시스템을 만들려고 #
합니다 /
.
var start = /#/ig; // @ Match
var word = /#(\w+)/ig; //@abc Match
어떻게 사용할 수있는 /
대신의 #
. 나는 var slash = '/'
하고 추가 하려고 시도 + slash +
했지만 실패했습니다.
답변:
이렇게 탈출 할 수 있습니다.
/\//ig; // Matches /
또는 그냥 indexOf 사용
if(str.indexOf("/") > -1)
정규식에서 "/"는 이스케이프해야하는 특수 문자입니다 (일명 앞에 \를 배치하여 제공 할 수있는 특수 함수를 무효화하여 플래그가 지정됨).
필요한 것은 다음과 같습니다.
var word = /\/(\w+)/ig; // /abc Match
여기에서 RegEx 특수 문자에 대해 읽어보십시오 : http://www.regular-expressions.info/characters.html
다음과 같이 슬래시를 문자 그룹으로 묶어 특수 JS 처리 슬래시를 해결할 수도 있습니다.
const start = /[/]/g;
"/dev/null".match(start) // => ["/", "/"]
const word = /[/](\w+)/ig;
"/dev/null".match(word) // => ["/dev", "/null"]
/[/]/
시각적으로 더 명확보다 후행 구분 기호를 구별합니다 /\//
.
/[/]/
읽기 쉽고 작동하지만 일부 RegEx 유효성 검사기는 문자 그룹 내에서도 "이스케이프 처리되지 않은 구분 기호는 백 슬래시로 이스케이프해야합니다"라고 보고 합니다 . 그래서 저는 추악한 형태 로 다시 전환했습니다 . /\//
앞에 a \
(만들기 \/
)로 이스케이프하거나 regex 이스케이프new RegExp('/')
를 피하기 위해 사용할 수 있습니다 .
JSFiddle의 예제를 참조하십시오 .
'/'.match(/\//) // matches /
'/'.match(new RegExp('/') // matches /
나를 위해 /
C #의 날짜 와 일치하려고했습니다 . 나는 다음을 사용하여 그것을했다 (\/)
.
string pattern = "([0-9])([0-9])?(\/)([0-9])([0-9])?(\/)(\d{4})";
string text = "Start Date: 4/1/2018";
Match m = Regex.Match(text, pattern);
if (m.Success)
{
Console.WriteLine(match.Groups[0].Value); // 4/1/2018
}
else
{
Console.WriteLine("Not Found!");
}
자바 스크립트도 (\/)
.
\
및로 구분 된 텍스트를 추출 할 때 앞서 말한 것과 관련된 두 가지 문제가 발생 했으며 처음에 필요한를 /
사용 new RegExp
하는 것 외에 둘 다에 맞는 솔루션을 찾았습니다 \\\\
. 이러한 결과는 Chrome 및 IE11에 있습니다.
정규식
/\\(.*)\//g
작동하지 않습니다. //
이스케이프 문자에도 불구하고 주석의 시작으로 해석되는 것 같습니다 . 정규식 (일반적이지는 않지만 내 경우에도 똑같이 유효 함)
/\b/\\(.*)\/\b/g
또한 작동하지 않습니다. 두 번째 /
는 이스케이프 문자에도 불구하고 정규식을 종료 한다고 생각합니다 .
무엇 나를 위해 작업을 수행하는 것은 표현하는 /
등 \x2F
의 16 진수 표현이다, /
. 를 사용하는 것보다 더 효율적이고 이해하기 쉽다고 생각 new RegExp
하지만, 물론 16 진수 코드를 식별하려면 주석이 필요합니다.