如何在 java- 越界异常中创建多行正则表达式

How to create a multiline regex in java- out of bounds exception

我正在尝试匹配以下 \b 之间的任何行(使用 Tika 中的 HTMLParser 提取)。整个文档中有几个这样的部分:

\par }{\b\f1\fs24\ul\insrsid14762702 Data}{\insrsid14762702 
\par Catheter Depth:\tab N/A
\par 
\par }{\b\f1\fs24\ul\insrsid14762702 Analysis Settings}{\insrsid14762702 
\par Upright:\tab 11:06:12
\par Duration:\tab 08:53:13
\par Total:\tab 19:59:25
\par }{\b\f1\fs24\ul\insrsid14762702 Another section}{\insrsid14762702 
\par Stuff
\par }{\b\f1\fs24\ul\insrsid14762702 And again}{\insrsid14762702 

我的代码:

Pattern pattern = Pattern.compile("(\b\f1\fs24\ul\insrsid14762702.*)");
Matcher matcher = pattern.matcher(s);
ArrayList<String> arr= new ArrayList<String>();
while (matcher.find()) {
       arr.add(matcher.group());
     }
 for(String name : arr){
 System.out.println("HIHIHI"+ name);
 }

这给了我

Illegal Unicode escape sequence near index 13
(\b\f1\fs24\ul\insrsid14762702.*)
             ^

前反斜杠也会发生这种情况 insrsid14762702

很公平,所以我四次逃避了麻烦的位

Pattern pattern = Pattern.compile("(\b\f1\fs24\\ul\\insrsid14762702.*)");

..我没有匹配项。

我怀疑我使用的是某种 unicode?符合正则表达式的情况,但似乎无法得到匹配的答案。-我知道我不会匹配模式之间的线条,但需要先理顺初始匹配。

尝试 Pattern.quote():

Pattern pattern = Pattern.compile("(" + Pattern.quote("\b\f1\fs24\ul\insrsid14762702") + ".*)")