2017-03-07 1 views
1

JavaScript에서 /(\n.)/g은 줄 바꿈과 그 뒤의 첫 번째 문자를 캡처합니다. 나는 그 반대가 필요하다. 그것은 줄 바꿈과 그 뒤에 오는 첫 번째 문자 이외의 것입니다.이 정규식 부정/( n.)/g

시도했지만 /(?!\n.)/g 시도했지만 작동하지 않습니다.

예를 들어

const regex = /\n./g; 
const str = `All the world's a stage, 
And all the men and women merely players; 
They have their exits and their entrances,`; 
const subst = ` `; 

// The substituted value will be contained in the result variable 
const result = str.replace(regex, subst); 

console.log('Substitution result: ', result); 

이 반환합니다

대체 결과를 모든 세계가 무대이다, 차의 모든 남성과 여성 단순히 선수; 헤이 그들의 출구와 그 입구를 가지고

그러나 내가 원하는 :

대체 결과 :

가 줄 바꿈과 그것을

다음에 오는 첫 번째 문자를 제외한 모든 대체 AT
+0

모든 예를 들어 문자열과 예상되는 결과? 텍스트를 제거하거나 추출하려고합니까? 아마도's.split (/ \ n ./)'을 사용하기를 원할 것입니다. –

+3

부정한 문자 클래스 사용하기 (set) :/[^ \ n] ./ g' – falsetru

+0

JavaScript regexes는 불행히도 lookbehind를 지원하지 않지만 @ falsetru의 코멘트는 – alex

답변

0

그래서 당신이하고 싶은 것은 부정이 아니라 이것을 시도 할 수 있습니다.

const data = `All the world's a stage, 
 
And all the men and women merely players; 
 
They have their exits and their entrances,` 
 

 
const func = data => data.replace(/.*((?:\r?\n|\r).).*/g, '$1') 
 

 
console.log(func(data))

+1

문자열에 CR 기호가 포함될 경우이 해결책은'. 'JS regex의 캐리지 리턴과 일치하지 않습니다. 또한'.'는 LF와 일치하지 않기 때문에'*? '는'*'로 대체되어야합니다. –