레이블이 패턴인 게시물을 표시합니다. 모든 게시물 표시
레이블이 패턴인 게시물을 표시합니다. 모든 게시물 표시

2008년 12월 4일 목요일

[패턴] 한글이 포함된 string의 패턴 매칭

이게 아닌데 이게 아닌데 아무리 해봐도 의도한 대로 결과가 나와 주지 않는다.
한글을 사용하기 위해선 encoding 모듈을 사용해야 하는 것을..쯧쯔..하루 종일 뭔 삽질인지
날도 추운데..

use encoding 'euc-kr'; # 이 놈이 모든것을 해결해 줌
$content = "_OBJ_GRID.setTextOnly('ordNm', maxRow, '장은정(cchang700)');_OBJ_GRID.setTextOnly('ordNm', maxRow, '장은정(cchang700)');_OBJ_GRID.setTextOnly('ordNm', maxRow, '장은정(cchang700)');";


while ($content =~ /_OBJ_GRID.setTextOnly\('([\w]+)', ([\w]+), '([\w\(\)\-]+)'\);/g) {
    print "Word is $1, $2 , $3 ends at position ", pos $content, "\n";
}



결과

================
 _OBJ_GRID.setTextOnly('ordNm', maxRow, '장은정(cchang700)');_OBJ_GRID.setTextOnly('ordNm', maxRow, '장은정(cchang700)')
;_OBJ_GRID.setTextOnly('ordNm', maxRow, '장은정(cchang700)');
===================
Word is ordNm, maxRow , 장은정(cchang700) ends at position 57
Word is ordNm, maxRow , 장은정(cchang700) ends at position 114
Word is ordNm, maxRow , 장은정(cchang700) ends at position 171

알고나면 뭐든 쉬운 것을 쯧쯔....

2008년 12월 3일 수요일

[php] 마지막 한 글자 제거..

$str = 'abc,ddd,eee,fff,"; // 이와 같은 문자가 있을때 마지막의 ,를 삭제 하고 싶은 경우가 있다.

// 이딴식으로 해봤는데 다른 좋은 방법 없나?
$str = substr( $str , 0, strlen( $str ) -1 );

// 패턴 매칭을 사용해?
// 이런것도 되긴 한데 뭐가 더 좋을까? 아무래도 substr이 더 빠를 듯..ㅋㅋㅋ
$str = preg_replace ( "/[\,]\$/", '', $str );



2008년 11월 21일 금요일

s와 tr 의 차이

이런것도 큰 차이를 모르고 쓰고 있었다니..흠흠..
왜 난 근본적인 질문이 없었을까..
일단 s나 tr 모두 스트링에서 패턴 매치를 통해 뭔가를 바꾸는 건데..
둘이 모두 가능한 일이 있고 안되는 일이 있고..흠흠..

사실 replace는 둘을 적절히 조합해서 사용하면 될듯.

$string =~ s/a/b/g;
$string =~ tr/a/b/;

tr은 g키워드(모두 변경)을 사용하지 않아도 되는구만...s가 더 상위의 기능일까?

a로 시작하고 z로 끝나는 워드 찾아서 z로 변경
$string =~ s/a(..c)/z$1/g;
$string =~ tr/
a(..c)/z$1/;

사용자 삽입 이미지
소스 ...







사용자 삽입 이미지
결과


a를 그냥 z로 다 바꿔버리네...바보 됨..

s키워드의 케이스..
사용자 삽입 이미지
소스





사용자 삽입 이미지
잘 되는 구만....


결론 tr은 뇌가 없다

2007년 2월 21일 수요일

[패턴관련] php에서 javascript의 링크일 경우 #NUM을 숫자로 ....뭔 소리냐

if ( preg_match ( "/javascript/" , $link_url ) )
               {
                       $_link= preg_replace( "/\#NUM/", $i, $link_url );

                       if ($i == $page)
                         echo " <a href='$_link'><b>$i</b></a> ";
                       else
                         echo " <a href='$_link'>$i</a> ";
               }