abc|def|ghi 에서 |로 구분되는 값인지 판별하는 정규식

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
abc|def|ghi 에서 |로 구분되는 값인지 판별하는 정규식

QA

abc|def|ghi 에서 |로 구분되는 값인지 판별하는 정규식

답변 3

본문

문자열 예시 : abc|def|ghi

에서 '|'로 구분하여 해당 값이 맞는지 판별하는 정규식을 어떻게 짜야할까요??

 

찾는값이 abc라면 abc|def|ghi 에서 해당 값이 있으므로 매칭되어야 합니다. (문자열에서 찾는문자열 앞에 '|' 없는조건)

찾는값이 def라면 abc|def|ghi 에서 해당 값이 있으므로 매칭되어야 합니다. (문자열에서 찾는문자열 앞뒤로 '|' 있는조건)

찾는값이 ghi라면 abc|def|ghi 에서 해당 값이 있으므로 매칭되어야 합니다. (문자열에서 찾는문자열 뒤에 '|' 없는조건)

찾는값이 de라면 abc|def|ghi 에서 해당 값이 없으므로 매칭되지 않아야 합니다. (php strpos로는 매칭이 되어서 정규식을 쓰려하는 이유입니다.)

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 3

preg_match함수를 이용하면 될듯 합니다.

$tmp ="abc|def|ghi";
preg_match("/\bde\b/i", $tmp)) 이경우는 찾기 실패

preg_match("/\bdef\b/i", $tmp)) 이경우는 찾기 성공

 

 


 

$tmp="abc|def|ghi";

$tmp = "|".$tmp."|"; <--이렇게 만들어서 |abc| , |def|, |ghi|를 strpos로 찾으면 되는데요??

 

 

배열로 만드셔서 in_array()로 매칭여부 판단하는 방식도 있습니다.

 

$tmp="abc|def|ghi";
$tmp_arr = explode("|",$tmp);

 if(in_array("ghi", $tmp_arr)) {
    echo "on";
}else{
    echo "off";
}

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로