php 정규식으로 문자+숫자조합 변경 문의드립니다
본문
$a=barcodesdgnsdgsadg454322 ==> $a=barcodesdgnsdgsadg|454322
이렇게 바꾸고싶습니다
현재 앞에 문자 그리고 뒤에 숫자 이런식 되있는데
정해진건 앞에는 문자 뒤에는 숫자인데
문자 나 숫자 자릿수는 정해진게없고 랜덤이고요
보기좋게 하기위해
문자 끝 숫자시작 앞에 | 를 넣고싶은데
정규식으로 한다면 어떻게하면될까요?
정규식으로하는방법 알려주심 감사할게요
$a=barcodesdgnsdgsadg454322 ==> $a=barcodesdgnsdgsadg|454322
이렇게 바꾸고싶습니다
추가로 mysql 정규식 적용은 어떻게변경하면되는지 아신다면 좀 알려주심 감사할게요^^
답변 2
$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 버전에 이미 지원되고 있을수 있습니다.)
!-->
<?php
$a="barcodesdgnsdgsadg454322";
$pattern = "#([a-zA-Z]+)(\d+)#";
if(preg_match($pattern, $a)) {
$a = preg_replace($pattern, '${1}|$2', $a);
}
echo $a;
?>
답변을 작성하시기 전에 로그인 해주세요.