>백엔드 개발 >PHP 튜토리얼 >PHP 정규 표현식 작동: 가격 일치

PHP 정규 표현식 작동: 가격 일치

王林
王林원래의
2023-06-23 08:07:531692검색

온라인 쇼핑을 하다 보면 가격을 필터링해야 하는 상황이 자주 발생합니다. 이때 가격을 일치시키려면 정규식을 사용해야 합니다. 이 기사에서는 PHP 정규식을 사용하여 가격 매칭 기능을 구현하는 방법을 설명합니다.

우선, 우리가 맞추고 싶은 가격의 특성을 이해해야 합니다. 일반적으로 가격 형식은 다음과 같은 유형으로 나뉩니다.

  1. 정수 가격(예: 99위안, 1,000위안 등)
  2. 99.99위안, 888.88위안 등 소수점이 있는 가격입니다.
  3. 99.99위안/병, 666.66위안/개 등 소수점과 단위가 포함된 가격입니다.

다음으로 정규 표현식을 통해 이 가격을 일치시킬 수 있습니다.

첫 번째 정수 가격의 경우 다음 정규식을 사용하여 일치시킬 수 있습니다.

preg_match("/d+元/", $str, $match);

그 중 d는 일치하는 숫자를 나타내고, +는 1번 이상 일치하는 숫자를 나타내며, yuan은 단어 "yuan"과 일치하는 것을 나타냅니다. $str은 일치할 문자열이고, $match는 일치 결과입니다.

소수점이 있는 두 번째 가격 유형의 경우 다음 정규식을 사용하여 일치시킬 수 있습니다.

preg_match("/d+.d+元/", $str, $match);

그중 .d+는 소수점과 숫자 일치를 의미하며 d+를 앞에 추가하여 일치하는지 확인해야 합니다. 소수점 이하 숫자가 일치합니다. $str은 일치할 문자열이고, $match는 일치 결과입니다.

소수점과 단위가 있는 세 번째 유형의 가격에 대해서는 다음 정규 표현식을 사용하여 일치시킬 수 있습니다.

preg_match("/d+.d+元/.*/", $str, $match);

그 중 d+.d+는 소수점 앞과 뒤의 숫자가 일치한다는 의미, /는 슬래시 일치를 의미합니다. *는 다음의 모든 문자와 일치하는 슬래시를 의미합니다. $str은 일치할 문자열이고, $match는 일치 결과입니다.

실제 애플리케이션에서는 "99.99위안/병"과 "999.99위안/상자"와 같이 동일한 제품의 가격이 다른 단위로 표시되는 상황이 발생할 수 있다는 점에 유의해야 합니다. 이때 정규식에 "|" 기호를 사용하여 여러 옵션을 일치시킬 수 있습니다. 예:

preg_match("/d+.d+元/(瓶|箱)/", $str, $match);

여기서 "|" 기호는 "bottle"과 "box" 사이의 일치 항목을 선택한다는 의미입니다. $str은 일치할 문자열이고, $match는 일치 결과입니다.

위의 정규식을 일치시키면 가격을 쉽게 필터링하고 추출할 수 있습니다.

마지막으로 정규 표현식은 강력하지만 복잡하고 오류가 발생하기 쉽다는 점을 기억해야 합니다. 따라서 실제 애플리케이션에서는 필요한 결과가 정확하게 일치하는지 확인하기 위해 정규식을 주의 깊게 디버그하고 테스트해야 합니다.

이 기사가 모든 사람이 PHP 정규식 응용 프로그램을 더 잘 익히는 데 도움이 되기를 바랍니다. 이를 통해 우리는 온라인 쇼핑 시 좋아하는 제품을 쉽게 찾을 수 있습니다!

위 내용은 PHP 정규 표현식 작동: 가격 일치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.