2013-04-06 3 views
0

- 자세한 내용은 여기 그러나 http://wiki.freepascal.org/IDE_regular_expressions일치 간단한 2가지 경우로 정규 표현식 : 나는 FPC (무료 파스칼)에 정규식 패턴을 사용하기 위해 노력하고있어

! 나는 3or4 소문자 (a-z) 문자 가닥의 첫 번째 발생 (있는 경우)을 일치시키는 방법을 결정할 수 없습니다.

나는 같은 식을 시도하지만 이번에는 대문자 & 숫자가 3or4 char 스트랜드가되도록 허용합니다.

도움말 감사드립니다! : 예를 들어


가 (것들 내가 + 해봤 예) : 켄 화이트에 대응

s := 'My Name'; 
// I want the 'ame' portion 1st since there exists a consecutive string of 3 lowercase chars. 

// Attempts:  
SplitRegExpr('[[:alnum:]]{3,4}'); 
SplitRegExpr('[a-z]{3,4}'); 
SplitRegExpr('[[:alnum:]]{3,4}?'); 

,이 더 오른쪽 링크입니다 생각하십니까? http://www.gnu-pascal.de/gpc/RegEx.html 나는 그 정의를 이해하고 있지만 (예를 들어 내가하려고하는 것) 패턴을 매치시키고 그것들로부터 무엇이 반환되는지를 어떻게 만드는지 제대로 알지 못한다.

+1

Welcome to StackOverflow. 지금까지 당신을 위해 일하지 않은 것은 무엇입니까? 검색하는 샘플 문자열과 얻으려는 결과는 무엇입니까? 이 사이트는 실제로 "문서 링크입니다. 여기에 내가하려는 일에 대한 일반적인 아이디어가 있습니다. 답변이 있습니까?" 질문을 입력하십시오. (사실, 질문조차하지 않습니다.) 질문을 작성하여 구체적으로 설명하고 해결하려는 노력을하십시오. 감사. –

+1

게시 한 링크는 FreePascal IDE가 아닌 (IDE_regular_expressions로 링크 된) FreePascal IDE의 정규 표현식을 참조합니다. 실제 FP 런타임 라이브러리 정규식 유닛에 대한 링크가 있습니까? –

+0

gpc/gnu 파스칼은 Free Pascal/fpc와 완전히 관련이 없습니다. 새로운 것들은 단위 regexpr 안드레 V. Sorokin에 의해 잘 알려진 tregexpr 기능이 있습니다. 나는 진짜로 regexp를하지 않기 때문에 나는 도울 수 없다. –

답변

0

다음은 모든 3 또는 4 개의 소문자 문자 시퀀스를 추출하는 프로그램입니다.

{$APPTYPE CONSOLE} 
{$IFDEF FPC}{$MODE DELPHI}{$ENDIF} 

uses 
    regexpr; 

var 
    expr: TRegExpr; 

begin 
    expr := TRegExpr.Create; 

    expr.Expression := '[a-z]{3,4}'; 

    if expr.Exec('My Name is Bunny.') then 
    repeat 
     WriteLn(expr.Match[0]); 
    until not expr.ExecNext; 

    expr.Free; 
    ReadLn; 
end.