$a=barcodesdgnsdgsadg454322 ==> $a=barcodesdgnsdgsadg|454322
이렇게 바꾸고싶습니다
현재 앞에 문자 그리고 뒤에 숫자 이런식 되있는데
정해진건 앞에는 문자 뒤에는 숫자인데
문자 나 숫자 자릿수는 정해진게없고 랜덤이고요
보기좋게 하기위해
문자 끝 숫자시작 앞에 | 를 넣고싶은데
정규식으로 한다면 어떻게하면될까요?
정규식으로하는방법 알려주심 감사할게요
$a=barcodesdgnsdgsadg454322 ==> $a=barcodesdgnsdgsadg|454322
이렇게 바꾸고싶습니다
추가로 mysql 정규식 적용은 어떻게변경하면되는지 아신다면 좀 알려주심 감사할게요^^
|
답변 2개 / 댓글 2개
채택된 답변
+20 포인트
2018-06-17 (일) 15:36:38
Copy
$a = "barcodesdgnsdgsadg454322";
$pattern = "/([a-zA-Z]+)([0-9]+)?/";
preg_match($pattern, $a, $match);
//print_r($match);
$b = $match[1]."|".$match[2];
echo $a."\n<br>";
echo $b."\n<br>";
mysql에서 위의 작업은 일반적으로 어려운 작업입니다.
mysql 8.0 에서 REGEX_REPLACE함수가 추가되었음으로 이를 사용하여 변환할수 있습니다.(마리아db는 10.x 버전에 이미 지원되고 있을수 있습니다.)
답변에 대한 댓글 1개
2018-06-17 (일) 21:43:43
Copy
<?php
$a="barcodesdgnsdgsadg454322";
$pattern = "#([a-zA-Z]+)(\d+)#";
if(preg_match($pattern, $a)) {
$a = preg_replace($pattern, '${1}|$2', $a);
}
echo $a;
?>
답변에 대한 댓글 1개
2018-06-17 (일) 22:43:04
평정심 답변도움 주셔 감사해요 평정심님 답변도 제가 해드려야하는데 체택이 이젠 1분밖에 안되서 좀 미안합니다 ^^;; 답변체택은 먼저 명량폐인님께서 답변을해주셔서 아무래도 먼저 답변해주신분께 체택드려야함을 많은 이해 양해구할게요 도움 다시한번 감사드리고요 편안한 밤되세요^^;; 감사합니다
답변을 작성하려면 로그인이 필요합니다.