여기서 내가 뭘 잘못하고 있니?정규식에 대한 수량 한정 기호의 자바 스크립트 오류
자바 스크립트를 사용하여 문자열의 숫자를 다른 숫자로 바꾸려고합니다. 나는 그 안에 숫자 1을 여러 번 가지는 긴 문자열을 가지고있다. 나는 1이 2를 가진 경우를 제외하고 각 경우에 2를 대체 할 필요가있다. 나는 정규식을 사용하는 방법에 대한 구글 검색을 많이했다 (나는 완전히 정규식에 익숙하다). 그리고 나는 이것을 생각해 냈다.
string.replace(/(?<!\d)1(?!\d)/,2);
는 기본적으로, 정규식 일치 (및 대체)가 다른 번호를 제외하고 아무것도에 둘러싸여 숫자 1의 모든 발생하고 싶다. 매치에 주변 문자가 포함되는 것을 원하지 않습니다. 숫자 1 만 사용하십시오.
내 방화 용 콘솔에서 계속 잘못된 수량 한정 오류가 발생합니다. 내가 도대체 뭘 잘못하고있는 겁니까?
콜론이 음수 lookbehind에 대한 올바른 연산자입니까? 나는 부정적인 lookbehinds를하는 방법에 관한 [link] http://www.regular-expressions.info/lookaround.html을 읽고 있었고 그는 lt 문자를 사용한다고 말한다. 나는 당신이 말한 것과 같이 콜론으로 바꾸었고 더 이상 오류를 얻지 않지만 어떤 일치도 반환하지 않습니다. 나는 모든 사건을 맞추기 위해 마지막 슬래시 뒤에 g를 추가하려고 시도했지만 여전히 작동하지 않습니다. 나는 여기서 단서가 없다. – codescribblr
@Jonathan : 아니요, JavaScript에는 룩백 (look-behind) 기능이 없습니다 (미리보기, 양수 및 음수 모두). '? :'는 캡쳐하지 않는 블록을 나타냅니다. –
위대한 설명! 정말 고마워. 여기 당신이 내게 준 것에 기초하여 끝이났습니다 :'var i = 1; \t $ ("#의 addshipmentobjecbutton"() 함수() { \t \t 경우 (ⅰ <= 5) { \t \t \t VAR old_object = $ ('#의 shipmentobject') HTML()을 클릭;.. \t \t \t을 var new_object = old_object.replace (/ (^! \ D) \ d (?! \ d)/g, "$"+ i + 2), \t \t \t $ ('# shipmentobjects').append ("
"); \t \t \ti ++; \t \t}) – codescribblr