2
나는이 길이가 길어서 SO으로오고 char 수를 설정하려고합니다. 그러므로 나는 expereion을 문자열로 만들어야하고 new RegExp()
을 사용해야합니다. 그래서 스 니펫을 조금 변경하고 두 번째는 당신이 결과를 볼 수있는 새로운 RegExp
객체JavaScript 정규식 리터럴 대 RegExp 객체
orginal 한
var t = "this is a longish string of text";
t.replace(/^(.{11}[^\s]*).*/, "$1");
//result:
"this is a longish"
정규식
var t = "this is a longish string of text";
var count = 11;
t.replace(new RegExp('^(.{' + count + '}[^\s]*).*'), "$1");
//result:
"this is a longi"
로를 사용 기대하지 않았다. 어떤 힌트는 리터럴을 사용하는 것과 RegExp 객체를 사용하는 것의 차이점은 무엇입니까?
이new RegExp('^(.{' + count + '}[^\\s]*).*')
(당신이 대신 [^\s]
의 \S
을 사용할 수 있습니다) :
new RegExp('^(.{' + count + '}\\S*).*')
문자열에서