"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 정규식을 사용하여 선택적 HTTP 및 WWW 접두사가 있거나 없는 URL을 일치시키는 방법은 무엇입니까?

정규식을 사용하여 선택적 HTTP 및 WWW 접두사가 있거나 없는 URL을 일치시키는 방법은 무엇입니까?

2024-11-09에 게시됨
검색:820

How to Match URLs with or Without Optional HTTP and WWW Prefixes Using a Regular Expression?

선택적 HTTP 및 WWW 접두사와 URL 일치

정규 표현식은 복잡한 패턴 일치 작업을 위한 강력한 도구입니다. 일치하는 URL의 경우 'http://www'를 포함하는지 여부와 같이 형식에 변형이 있는 경우가 많습니다. 접두어인지 여부.

정규 표현식을 사용한 솔루션

"http://www."가 있거나 없는 URL과 일치시키려면. 접두사에는 다음 정규식을 사용할 수 있습니다.

((https?|ftp)://)?
([a-z0-9 !*(),;?&=$_.-] (:[a-z0-9 !*(),;?&=$_.-] )?@)?
([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))
(:[0-9]{2,5})?
(/([a-z0-9 $_%-]\.?) )*/?
(\?[a-z &\$_.-][a-z0-9;:@&%= /$_.-]*)?
(#a-z_.-][a-z0-9 $%_.-]*)?

표현식 분석:

  • (https?|ftp):// - 선택적 프로토콜 식별자(http 또는 ftp)
  • ([a-z0-9 !*(),;?&=$_ .-] (:[a-z0-9 !*(),;?&=$_.-] )?@)? - 선택적 사용자 및 비밀번호
  • ([ a-z0-9-.]*).(([a-z]{2,4})|([0-9]{1,3}.([0-9]{1,3}).([ 0-9]{1,3}))) - 호스트 이름 또는 IP 주소
  • (:[0-9]{2,5})? - 선택적 포트 번호
  • (/([a-z0-9 $_%-].?) )*/? - 선택적 경로
  • (?a-z &$ _.-*)? - 선택적 쿼리 문자열
  • (#a-z_.-][a-z0-9 $%_.-]*)? - 선택 사항 앵커

사용 예

주어진 문자열이 정규 표현식과 일치하는지 확인하려면 다음 구문을 사용합니다.

if(preg_match(~^$regex$~i, 'www.example.com/etcetc', $m))

문자열이 "http://" 유무에 관계없이 URL 패턴과 일치하면 TRUE를 반환합니다. /www." 접두사.

릴리스 선언문 이 글은 1729557683에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3