1

I have devised a Regex that uses the following pattern: [^.!?"]+ , in order to retrieve sentences and phrases from a given text. The pattern was tested on multiple online Regex validator sites like https://regexr.com/ and works as expected.

On Java code when I try to use the same Regex the result is not as expected.

String a =" fjefjeijfeijfei? ejfn rwfnrujnfijnf rfjnwrjrfnjrfn, rjfirjnfi4, rijijf.";
a.split("[^.?!\"]+");

The result is:

fjefjeijfeijfei? ejfn rwfnrujnfijnf rfjnwrjrfnjrfn, rjfirjnfi4, rijijf.

Instead of:

  • fjefjeijfeijfei
  • ejfn rwfnrujnfijnf rfjnwrjrfnjrfn, rjfirjnfi4, rijijf

What might I be doing wrong?

halfer
  • 19,824
  • 17
  • 99
  • 186
SocketM
  • 564
  • 1
  • 19
  • 34
  • Remove the caret `^`. – revo Dec 19 '18 at 18:26
  • Use `[^.?!"]+` with *matching* code, not splitting. See https://stackoverflow.com/a/6020436/3832970. Note that regex101 may [generate Java code for you](https://regex101.com/r/4p05ss/1/codegen?language=java). – Wiktor Stribiżew Dec 19 '18 at 18:27

0 Answers0