특정 패턴으로 시작하는 문자열을 제외 하고 모든 것을 일치시킬 수있는 정규식이 필요합니다 (특히 index.php다음과 같은 것 index.php?id=2342343)
답변
정규 표현식 전문가는 아니지만 처음부터 부정적인 예측을 사용할 수 있다고 생각합니다. 예를 들어로 ^(?!foo).*$시작하는 것과 일치해서는 안됩니다 foo.
답변
정규식 : 모든 것을 제외하고 :
- 특정 패턴으로 시작 하는 문자열   (예 : 비어 있거나 너무 시작하지 않는 문자열 
foo) :- NFA를위한 Lookahead 기반 솔루션 :
 - 둘러보기를 지원하지 않는 정규식 엔진에 대한 부정 문자 클래스 기반 솔루션 :
 
 - 문자열 로 끝나는 특정 패턴 (아무 말하지 
world.말) : - 특정 텍스트를 포함 하는 문자열 (예 :를 가진 문자열과 일치하지 않음 
foo) (POSIX 호환 patern 없음, 죄송합니다) : - 특정 문자를 포함 하는 문자열 (예 
|: 기호가 있는 문자열과 일치하지 않아야 함 ) : - 문자열은 동일 일부 문자열 (예를 들어,하지에 동일 
foo)- 둘러보기 기반 :
 - POSIX :
 
 - 문자의 순서 :
- PCRE (모든 텍스트와 일치하지만 
cat) :/cat(*SKIP)(*FAIL)|[^c]*(?:c(?!at)[^c]*)*/i또는/cat(*SKIP)(*FAIL)|(?:(?!cat).)+/is - 다음과 같은 둘러보기를 허용하는 다른 엔진 : 
(cat)|[^c]*(?:c(?!at)[^c]*)*(또는(?s)(cat)|(?:(?!cat).)*, 또는(cat)|[^c]+(?:c(?!at)[^c]*)*|(?:c(?!at)[^c]*)+[^c]*) 언어 의미를 확인하십시오. 그룹 1이 일치하면 필요하지 않습니다. 그렇지 않으면 비어 있지 않으면 일치 값을 가져옵니다. 
 - PCRE (모든 텍스트와 일치하지만 
 - 특정 단일 문자 또는 문자 집합 :
 
데모 참고 사항 : 줄 바꿈 \n은 데모의 부정 문자 클래스 내부에서 사용되어 인접한 줄과의 일치 오버플로를 피합니다. 개별 문자열을 테스트 할 때는 필요하지 않습니다.
앵커 참고 : 많은 언어에서 \A문자열의 명확한 시작 을 정의하는 데 사용하고 문자열의 끝을 정의하려면 \zPython \Z에서 JavaScript에서는 $괜찮습니다.
점 참고 : POSIX, TRE, TCL이 아닌 많은 맛 에서 개행 문자를 제외한. 모든 문자와 일치합니다 . 개행을 포함한 모든 문자와 일치 시키 려면 해당 DOTALL 수정 자 ( PCRE / Boost / .NET / Python / Java 및 Ruby)를 사용해야합니다 ./s/m.
백 슬래시 참고 : 이스케이프 시퀀스를 허용하는 C 문자열로 패턴을 선언해야하는 언어 (예 \n: 줄 바꿈 과 같은 )에서는 엔진이 리터럴 문자 (예 : Java)로 처리 할 수 있도록 특수 문자를 이스케이프 처리하는 백 슬래시를 두 배로 늘려야 world\.합니다. 로 선언 "world\\."하거나 문자 클래스를 사용하십시오 🙂 "world[.]". 원시 문자열 리터럴 (Python r'\bworld\b'), C # @"world\."완전 문자열 리터럴 또는 슬래시 문자열 / 정규 리터럴 표기법을 사용하십시오 /world\./.
답변
^문자 세트의 시작 부분에 해당 문자 이외의 문자와 일치하도록 a 를 넣을 수 있습니다 .
[^=]*
모든 것을 일치 시키지만 =
답변
그냥 일치 /^index\.php/다음과 일치하는 어떤 거부합니다.
답변
파이썬에서 :
>>> import re
>>> p='^(?!index\.php\?[0-9]+).*$'
>>> s1='index.php?12345'
>>> re.match(p,s1)
>>> s2='index.html?12345'
>>> re.match(p,s2)
<_sre.SRE_Match object at 0xb7d65fa8>
답변
내가 할 정규식 할 필요가 모든 것을 일치 하지만 제외시켰다 로 시작하는 문자열을
index.php특정 패턴 (특히 index.php를 다음과 무엇의 index.php 같은? ID = 2342343)
사용 방법 Exec
    let match,
        arr = [],
        myRe = /([\s\S]+?)(?:index\.php\?id.+)/g;
    var str = 'http://regular-viragenia/index.php?id=2342343';
    while ((match = myRe.exec(str)) != null) {
         arr.push(match[1]);
    } 
    
    console.log(arr);
var myRe = /([\s\S]+?)(?:index\.php\?id=.+)/g;
var str = 'http://regular-viragenia/index.php?id=2342343';
var matches_array = myRe.exec(str);
console.log(matches_array[1]);
또는 다른 경기
let match,
            arr = [],
            myRe = /index.php\?id=((?:(?!index)[\s\S])*)/g;
        var str = 'http://regular-viragenia/index.php?id=2342343index.php?id=111index.php?id=222';
        while ((match = myRe.exec(str)) != null) {
             arr.push(match[1]);
        } 
        console.log(arr);
답변
정규식을 사용하지 않는 것은 어떻습니까?
// In PHP
0 !== strpos($string, 'index.php')
