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

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

QA

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

본문

문자열 예시 : 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";
}

답변을 작성하시기 전에 로그인 해주세요.
전체 123,636 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT