특수 태그 내부에 공간이없는 문자 만 얻을 수 있습니다 :정규식 내가 문자열이 텍스트가
퍼센트 후안 %
% 후안 곤잘레스 %
을 그리고 난 단지 %를 얻을 수 있도록하려면 후안 % 우주와 하나가 아니라, 나는 여러 Regexes witout 행운을 시도했습니다.
/%(.*)%/U
을하지만 내가 추가하고 [^ \ S]와 함께 연주 시도, 두 가지를 얻을 수 있지만 나던 작동 : 내가 현재 사용합니다.
도움이 필요하십니까?
특수 태그 내부에 공간이없는 문자 만 얻을 수 있습니다 :정규식 내가 문자열이 텍스트가
퍼센트 후안 %
% 후안 곤잘레스 %
을 그리고 난 단지 %를 얻을 수 있도록하려면 후안 % 우주와 하나가 아니라, 나는 여러 Regexes witout 행운을 시도했습니다.
/%(.*)%/U
을하지만 내가 추가하고 [^ \ S]와 함께 연주 시도, 두 가지를 얻을 수 있지만 나던 작동 : 내가 현재 사용합니다.
도움이 필요하십니까?
.
은 개행을 제외한 모든 문자와 일치합니다. /U
ungreedy 모드는 .*
만 지연시키고 %
부터 %
의 오른쪽에있는 첫 번째 %
까지 텍스트를 캡처합니다. 당신의 문자열 %...%
한 쌍을 포함 할 경우, regex demo
\S+
패턴이 공백 이외의 1+ 문자, 전체 [^\h%]
부정 문자와 일치 참조
/%(\S+)%/
사용할 수 있습니다
수평 공백 이외의 모든 문자와 일치하는 클래스 및 %
심볼입니다. 여러 %...%
쌍이있는 경우
, 당신은
/%([^\h%]+)%/
이 \h
어떤 수평 공백과 일치 another regex demo을 참조 사용할 수 있습니다.
$re = '/%([^\h%]+)%/';
$str = "%Juan%\n%Juan Gonzalez%";
preg_match_all($re, $str, $matches);
print_r($matches[1]);
not the one with the Space
=하지 [^
+ 공간 \s
+ ]
이있다.
그러나 %
도 포함 할 수 없습니다.
는 추가 신용 들어,/또한 공간
와 하나의 종류의 균형 구분 설정을 보장하기 위해 일치해야합니다 수 %([^\s%]+)%
을 밝혀 작동하지만.
(?:%([^\s%]+)%|%[^%]*%(*SKIP)(*FAIL))
(?:
%
([^\s%]+) # (1), Tag you need
%
|
% [^%]* % (*SKIP)(*FAIL) # Consume, but don't match other tags
)
연구 문자 클래스를 설명했다. –
나는 어떻게 그걸로 _played_ 모르겠지만'/ % ([^ \ s] +) % /'는 효과가있다. – AbraCadaver
이 상황에서 무엇을 캡처 하시겠습니까? '.................................. % Juan % 후안 곤잘레스 % michel % herbert philippe %% le_gros_Louis %'? * ("michel"은 쌍으로 된'%'밖에 있음을 유의하십시오.) * –