Sizin düzenli ifade catastrophic backtracking (a demo of your regex here bakınız) (([\u00C0-\u1FFF\u2C00-\uD7FF]+[^a-z\u00C0-\u1FFF\u2C00-\uD7FF]*)+)
nedeniyle bölümü neden olur. [^a-z\u00C0-\u1FFF\u2C00-\uD7FF]*
, sıfır karakterlerle eşleşebildiğinden, temel olarak, geriye dönük bir soruna neden olan klasik bir (a+)+
benzeri bir modele (cf: ([\u00C0-\u1FFF\u2C00-\uD7FF]+)+
) sahipsiniz. ,
^([\u00C0-\u1FFF\u2C00-\uD7FF]+(?:[^a-z\u00C0-\u1FFF\u2C00-\uD7FF]+[\u00C0-\u1FFF\u2C00-\uD7FF]+)*) [a-z]+[^\u00C0-\u1FFF\u2C00-\uD7FF]*$
İşte regex demo
bakınız:
ondan kurtulmak için, alt şablonlar gruplama içindeki zorunlu olduğundan emin olun ve tüm gruplamaya bir *
niceleyici uygulamak gerekir [\u00C0-\u1FFF\u2C00-\uD7FF]+(?:[^a-z\u00C0-\u1FFF\u2C00-\uD7FF]+[\u00C0-\u1FFF\u2C00-\uD7FF]+)*
kibritler:
[\u00C0-\u1FFF\u2C00-\uD7FF]+
- bir veya daha fazla karakter [\u00C0-\u1FFF\u2C00-\uD7FF]
aralıkları
(?:[^a-z\u00C0-\u1FFF\u2C00-\uD7FF]+[\u00C0-\u1FFF\u2C00-\uD7FF]+)*
- sıfır ya da daha fazla sekans:
[^a-z\u00C0-\u1FFF\u2C00-\uD7FF]+
- \u00C0-\u1FFF\u2C00-\uD7FF
aralıklardan bir veya daha fazla karakter - a-z\u00C0-\u1FFF\u2C00-\uD7FF
aralıkları
[\u00C0-\u1FFF\u2C00-\uD7FF]+
gelenler dışında bir ya da daha fazla karakter.
Neyle takılırsın? Bunu konsolda giriyor ve donuyor mu? – Cristy
Sadece ([\ u00C0- \ u1FFF \ u2C00- \ uD7FF] + [^ az \ u00C0- \ u1FFF \ nedeniyle [katastrofik geri izleme] (https://regex101.com/r/eT6gL3/1) neden olur u2C00- \ uD7FF] *) +) 'parçası. [Katastrofik geri izleme hakkında daha fazla bilgi burada bulunabilir] (http://www.regular-expressions.info/catastrophic.html). Regex için gerçek gereksinimler nelerdir? –
['^ ([\ u00C0- \ u1FFF \ u2C00- \ uD7FF] + (?: [^ Az \ u00C0- \ u1FFF \ u2C00- \ uD7FF] + [\ u00C0- \ u1FFF \ u2C00- \ için mi arıyorsunuz? uD7FF] +) *) [az] + [^ \ u00C0- \ u1FFF \ u2C00- \ uD7FF] * $ '] (https://regex101.com/r/eT6gL3/2)? –