Noch besser, können Sie die folgende Syntax verwenden, die mehrere Räume und andere Leer nach dem Satz Zeichen und die führenden Leerzeichen nicht Teil endet akzeptieren wird der Zeichenfolge, die extrahiert wird !!!
[^\s].+?[?!.](?=\s+|$)
Einschränkungen:
- zum Beispiel
10 B.C.
und andere Abkürzungen werden als Satz erkannt werden ...
- Strings wie:
terkena musibah!Uang saya 90.000 dicuri maling.
wird als ein Satz erkannt werden ...
Neue Version:
Ich habe die Regex in der folgenden Art und Weise angepasst, die Einschränkungen des Regex zu lösen vorgeschlagen bisher:
[^\s.!?][[email protected]#$%^&,;"':*()-_+=/\\|{}><()[\]\s\d]*?([?!]|((?<=[^A-Z])\.(?=[^0-9])))
und ich habe Test auf der folgender Text:
Apa ya{ng terjadi? Ak[u +10 B.C. ter,ke]na 10.3 mus}ibah.Uang say\a 90!000 dic&uri ma|ling.
Apa yang te*r(j)adi? Aku terkena mus%ibah! Uang sa^ya 90.000 dicuri maling.
ter;ke|na mus-ibah?uang saya 90..000 dicuri m"aling.
[email protected] mus+ibah!ua=ng say$a 90?000 dicuri ma'ling.
terk\ena mus#ibah.uang saya 90.000 dicuri maling.
Apa yang terjadi? Aku 10 B. C. terke\na mu/sibah.Uang saya 90!000 dicuri maling.
Apa yang terjadi? Aku -10 B. C. terke\na mu/sibah. Uang saya 90!000 dicuri maling.
Vorteile:
Abkürzungen erhalten sind: Ak[u +10 B.C. ter,ke]na 10.3 mus}ibah.
als ein Satz zu sehen ist, die Erhaltung v.Chr.
terkena musibah!Uang saya 90.000 dicuri maling.
würde in zwei Sätze getrennt werden: terkena musibah!
undUang saya 90.000 dicuri maling.
Viel Glück!
macht diese Arbeit für Sie? '. +? [?!.] (? = | $)' – CAustin
@CAustin, Ja, das funktioniert wirklich. Ich bin dir sehr dankbar. –