및 JSPHP에서 구분 기호를 제외하고 정규 표현식을 사용하여 구분 한 쌍간에 콘텐츠를 선택 가장 좋은 방법은 무엇입니까?일부 문자 래핑되는 문자열을 추출
aassssd [dddd] fff ffff (delimiter=[..]) output -> dddd
aassssd QddddQ fff ffff (delimiter=Q) output -> dddd
aassssd RddddQ fff ffff (delimiters=R...Q) output -> dddd
aassssd "dddd" fff ffff (delimiter=") output -> dddd
우려 전체를 선택하면 비교적 쉽게, 구분 기호를 제외에 관한 것입니다 :
/\"[^"]\"/ //for line four
그것은 솔루션 스케일러를 반환하는 것이 바람직합니다.
$str = 'aassssd QddddQ fff ffff';
preg_match_all('/[Q](.*?)[Q]/', $str, $out, PREG_PATTERN_ORDER);
var_dump($out);
가 생산 :
Array
(
[0] => Array
(
[0] => QddddQ
)
[1] => Array
(
[0] => dddd
)
)
당신에게 이상적인 대답은 내가 마지막 구분자 개까지 모든 것을 캡처 비 욕심 .*?
을 사용 http://regexpal.com/
당신이 어떻게 하시겠습니까있는 정규식을 사용하고 계십니까? 정규식이 느립니다. – MaxArt
Regex가 느린가요? 무엇에 비해? – kalisjoshua
delimeter를 어떻게 결정합니까? 항상 구분 기호, 텍스트, 구분 기호 및 나머지 문자열이 오는 문자 그대로 "aassssd"입니까? 아니면 지정된 집합 중 하나입니까? 아니면 다른 패턴입니까? – IBBoard