앞에 주석이 달린 코드도 검색이 되어 번거로워서 정규식으로 주석없는 코드만 조회하는 방법을 찾아봤다.
^(?!.*//).*?\bconsole\.log\b
설명 ^(?!.*//): 이 부분은 주석이 포함된 줄을 제외. 줄의 시작(^)에서 주석(//)이 포함되지 않는 경우를 찾음. .*?\bconsole\.log\b: 주석이 없는 줄에서 console.log를 찾음.
땡큐.
중간에 정규식 구조의 오류가 있었다.
초기에 적용한 정규식을 입력하니 오류메시지가 표시됨
(?<!//\s*.*)\bconsole.log\b
* 메시지 : Look-behind group dose not have an obvious maximum length near index 7
Eclipse의 정규 표현식 엔진의 제약사항 - Look-behind 그룹에 대한 제한
- Look-behind 그룹은 고정된 길이 또는 명확한 최대 길이를 가져야 함
* Look-behind의 길이: (?<!//\s*.*) 부분에서 .*는 0개 이상의 문자에 매칭될 수 있기 때문에, 이 부분의 길이가 가변적.
즉, .*는 어떤 길이의 문자열에도 매칭될 수 있어, Look-behind의 최대 길이를 명확히 정의할 수 없음. - Eclipse의 정규 표현식 엔진은 Look-behind 그룹이 고정된 길이를 가져야 하며, 가변적인 길이를 가진 패턴을 허용하지 않음. 따라서 .*와 같은 패턴이 포함된 Look-behind는 오류 발생.
> Look-behind를 사용하지 않고 다른 방법으로 주석을 제외하는 방법 필요.
가이드1 - 주석을 포함하지 않는 패턴을 사용: - 주석을 포함하지 않는 console.log를 찾기 위해, 주석을 포함하는 경우를 명시적으로 제외하는 패턴 사용.
> 주석이 없는 줄에서 console.log를 찾음. 가이드2 - 단순한 패턴 사용: - 주석이 있는 줄을 제외
-- 일감정보 조회
SELECT x.*
FROM bitnami_redmine.issues x
WHERE id = 22
;
-- 사용자 정의 항목 관리
SELECT x.* FROM bitnami_redmine.custom_fields x
-- 사용자 정의 항목 조회(사용자정의항목 ID 참조 : custom_field_id)
SELECT id, customized_type, customized_id, custom_field_id, value
FROM bitnami_redmine.custom_values
WHERE customized_id=22 and custom_field_id=5
;
-- 키값이 아닌 일감, 사용자 정의 항목 정보 중복여부 확인
select customized_id, custom_field_id, COUNT(*)
FROM bitnami_redmine.custom_values
group by customized_id, custom_field_id
having count(*) >0
;
-- 수정쿼리 : 일감(22)기준 시작, 종료일 수정 / 일감(22)기준 사용자정의항목 수정
UPDATE issues SET due_date='2024-08-20', start_date='2024-08-14' WHERE id=22;
UPDATE custom_values SET value='사용자정의값수정' WHERE customized_id=22 AND custom_field_id=5;
[Thu Aug 31 21:58:33.018393 2023] [ssl:warn] [pid 19064:tid 444] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name [Thu Aug 31 21:58:33.068371 2023] [ssl:warn] [pid 19064:tid 444] AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name [Thu Aug 31 21:58:33.086154 2023] [mpm_winnt:notice] [pid 19064:tid 444] AH00455: Apache/2.4.52 (Win64) OpenSSL/1.1.1m PHP/7.4.28 configured -- resuming normal operations [Thu Aug 31 21:58:33.086154 2023] [mpm_winnt:notice] [pid 19064:tid 444] AH00456: Apache Lounge VC15 Server built: Dec 23 2021 11:00:40 [Thu Aug 31 21:58:33.086154 2023] [core:notice] [pid 19064:tid 444] AH00094: Command line: 'D:\\jkSpace\\redmine\\redmine-4.2.4-0\\apache2\\bin\\httpd.exe -d D:/jkSpace/redmine/redmine-4.2.4-0/apache2 -f D:\\jkSpace\\redmine\\redmine-4.2.4-0\\apache2\\conf\\httpd.conf' [Thu Aug 31 21:58:33.091358 2023] [mpm_winnt:notice] [pid 19064:tid 444] AH00418: Parent: Created child process 17280
<!DOCTYPE html>
<html lang="KO">
<head>
<meta charset="UTF-8">
<title>computed</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2"></script>
</head>
<body>
<div id="main">
<p>원본 문장 : "{{ sOriginalMessage }}"</p>
<p>대분자로 변환된 문장 : "{{ fnUpperCaseMsg }}"</p>
</div>
<script>
new Vue({
el:'#main',
// data는 머스태시 안에 넣을 값이 간달할 때 사용
data:{
sOriginalMessage: 'How are you?'
},
computed:{
// sOriginalMessage의 데이터를 모두 대문자로 변환
// 이때 데이터에 접근하기 위해 this 사용
fnUpperCaseMsg: function(){
return this.sOriginalMessage.toUpperCase();
}
}
})
</script>
</body>
</html>
* 머스태시 사용 : 문자열을 {{}} 로 감싸고 엘리먼트(P) 값 표시 - {{ sOriginalMessage }} : 문자열 변수 대체