2017-02-04 1 views
0

AutoHotKey 스크립트에서 RegEx를 사용하여 문자열에 문자열이 있는지 확인하려고합니다.문자열에서 문자열을 찾은 후 이름을 추출하는 RegEx

내 문자열과 같은 파일 경로 인 경우 :

G:\htdocs\projects\webdevapp\app\folder\file.php 

그런 다음 나는 webdevapp 부분을 추출 할 필요가. 변경해야 할 것이다 정규식 부분을 제외하고 다음과 유사한

; Returns 1 and stores "XYZ" in SubPat1. 
FoundPos := RegExMatch("abcXYZ123", "abc(.*)123", SubPat) 

그래서 이론에 뭔가 다음 AutoHotkey를 워드 프로세서에서

는 변수에 발견 된 값을 저장하는 정규식 명령에 대한 예제를 제공합니다 ...

FoundPos := RegExMatch("G:\htdocs\projects\webdevapp\app\folder\file.php", "G:\htdocs\projects\(.*)\app\folder\file.php", DomainNameVar) 

도메인 이름을 파일 경로에서 AutoHotKey의 변수로 추출하면 어떤 도움이됩니까?

그것은 기본적으로 문자열이 G:\htdocs\projects\로 시작하고 있는지 확인해야

그 다음 그 시점 이후에 모든 문자를 잡아 않을 경우 그것은 내가 그것을 가지고 다음 \

+0

나는 AuthoHotKey에 익숙하지 않다. 'FoundPos : = RegExMatch ("G : \ htdocs \ projects \ webdevapp \ app \ folder \ file.php", "G : \ htdocs \ projects \ (. *) \ app \ folder \ file.php ", DomainNameVar)'(참조 용으로 질문에 포함시킬 수 있습니다.) 많은 시스템에서 "\"는 특수 문자 일 수 있으므로 FoundPos : = RegExMatch ("G : \ htdocs \\ projects \\ webdevapp \\ app \\ folder \\ file.php", " G : \\ htdocs \\ projects \\ (. *) \\ app \\ folder \\ file.php ", DomainNameVar)' – Attilio

+0

@Attilio이 부분을'\ app \ folder \ file.php로 업데이트하겠다. '는 문자열마다 다르므로 정규식에 있어서는 안됩니다. 이 정규 표현식 테스트를 거쳐서 문자열 끝에 도달 할 때까지 모든 것을 일치시킵니다. G : \\ htdocs \\ projects \\ [^ \\] *'일치하는 결과를 얻을 수 있다면 필요합니다. 'G : \ htdocs \ projects \ webdevapp \ app \ folder \ file.php' 데모 - https://regex101.com/r/rFQRbT/1 문자열의'G : \ htdocs \ projects \ webdevapp' – JasonDavis

답변

1

까지 때까지!

FoundPos := RegExMatch("G:\htdocs\projects\webdevapp\app\folder\file.php", "G:\\htdocs\\projects\\([^\\]+)*", DomainNameVar) 

G:\\htdocs\\projects\\([^\\]+)* 

데모 https://regex101.com/r/rFQRbT/1

관련 문제