정규 표현 식(regex)또는 연산 자"|"사용 하기 쉬 운 기능 버그
자,주제 에서 벗 어 났 습 니 다.코드 검 사 를 할 때 이런 구멍 도 자주 발생 합 니 다.다음 코드 를 보 겠 습 니 다.
<?php
$user="bcd123 ";
/// abc bcd ,
preg_match_all("/abc|bcd\d+/",$user,$match);
var_dump($match);
/*
array(1) {
[0]=>
array(1) {
[0]=>
string(6) "bcd123"
}
}
*/
모든 페이지 에 abc 나 bcd 가 나타 나 는 것 을 찾 습 니 다.뒤에 숫자 문자열 을 따라 갑 니 다.위 를 통 해 우 리 는 bcd 123 에 정확하게 일치 하 는 것 을 보 았 습 니 다.만약 우리 가$user="abc 123 장 3"을 입력 하면 일치 하지 않 는 다 는 것 을 알 게 되 었 습 니 다.이 유 는"|"문자 입 니 다.우선 순위 가 가장 낮 습 니 다.이상 의 쓰기 방법 은 abc 나 bcd\d+문자열 과 일치 합 니 다.위의 그림 은|을()에 포함 합 니 다.
우선 순 위 를 올 리 려 면(abc|bcd)\d+,모든 abc 나 bcd 문자열 과 일치 하 며,뒤에 숫자 를 바짝 따 를 수 있 습 니 다."|"문자열 을 사용 할 때 우선 순위 가 낮 습 니 다.우선 일치 하려 면()에 넣 을 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
awk 상용 명령awk 는 모든 입력 줄 을 하나의 기록 으로 인식 하고 그 줄 의 모든 단어 도 메 인 을 하나의 필드 로 인식 합 니 다. ARGC 명령 줄 에 awk 스 크 립 트 가 들 어 오 는 매개...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.