'[~'및 '~]'태그 사이의 모든 것을 일치시켜야합니다. 지정한 문자 쌍 사이의 모든 것을 캡처하는 단순한 (!?) 정규식
정규식 패턴을 많이 쓰는 시도하지만 올바른 하나를 찾을 수 없습니다 :#\[~(.*)~]#
을 -이 의 첫 번째 항목 사이의 모든 것을 돌려 [~ ~의과 마지막에 출현].#\[~([^~]*)~]#
- 태그 안에 ~ 기호가 없으면 정상적으로 작동합니다.
나는 쌍이 가능] ~ (모든 바이트 을 쌍 제외] ~ (.*)
모든 것을 캡처하고 ~ 문자를 발견하지만 난 그게 을 찾을 때까지이 모든 것을 포착 할 수 있도록 못할 때까지 ([^~]*)
모든 것을 캡처 이해 단일 태그 ~ 문자를 포함한 내부 태그). 즉, 나는 한 쌍의 문자에 대해 부정을 만드는 방법을 모른다. 이렇게
Simple [example~]: [~here I can face both, ‘~’ and ‘]’ characters~] or another
example [~~~~~~[ABC]~~~~~~].
정규식 대해 preg_match_all() 후 I은 생성 된 기대하는 어레이 :
이 가능한 예이다
array(2) {
[0]=>
string(44) "here I can face both, '~' and "]" characters"
[1]=>
string(14) "~~~~~[ABC]~~~~~"
}
참고 입력 문자열 이진 데이터 (00-FF)를 포함 할 수있다.
(특정 사용자의 경우) 이미 관련 Q/A + 수백 개의 Google 검색 결과를 확인했습니다.
나를 위해 그것은 그대로 잘 작동하는 것 같습니다. 너는 무엇을 얻고, 너는 기대하지 않는다? – Svish
@Svish, 첫 번째 예제는 큰 결과를 가져 오거나, 어떤 경우에는 바이너리 컨텐츠에 대해 실행했을 때 첫 번째 발생 또는 전혀 반환하지 않습니다. 위에서 언급했듯이 두 번째 패턴은 태그 안에 ~ 기호가 없으면 잘 작동하며 그 이유를 이해합니다. 나는 바이너리 데이터에 대한 hakre의 대답을 테스트하고있다. 나는 그렇게 생각한다. 내 패턴에 변화가 생겼어요. 왜 아직도 모릅니다. – Wh1T3h4Ck5
@Svish, 내 예제 첫 번째 패턴은 "~"또는 [] ~ 문자 [~] 또는 [ABC] ~~~~~ ""와 같은 두 가지 모두를 직면 할 수 있습니다. 분명히 맞지 않습니다. http://www.rubular.com/r/3xFgKN1Psr – Wh1T3h4Ck5