Attach (recommended) or Link to PDF file here:
https://www.meti.go.jp/policy/consumer/seian/denan/file/04_cn/scope/haninokaishaku_211228.pdf

Configuration:
- Web browser and its version: Google Chrome 107.0.5304.121
- Operating system and its version: Windows 10 Pro 21H2 19044.1826
- PDF.js version: v3.0.279
- Is a browser extension: No

Steps to reproduce the problem:
1. Search "ソレノイド" by Ctrl+F.

What went wrong? (add screenshot)
"ソレノイド" on page 10 must be hit.
If search "ソ レノイド" (add space between ソ and レ), it hits.

![image](https://user-images.githubusercontent.com/110510565/204415638-450c0b28-ce1e-4542-8f4d-7b67fe881f6d.png)

Steps to reproduce the problem:
1. Search "ミシン用として用いられる" by Ctrl+F.

What went wrong? (add screenshot)
"ミシン用として用いられる" on page 5 must be hit.
If search "ミシン用として用いられ る" (add space between れ and る), it hits.

![image](https://user-images.githubusercontent.com/110510565/204416640-824b8f3f-9b7b-4ba5-856c-858d8d451689.png)

When this PDF file is opened by Adobe Reader, there is no problem.

Related issue:
[#15340](https://github.com/mozilla/pdf.js/issues/15340)






ode = false;
    query = query.replace(
      SPECIAL_CHARS_REG_EXP,
      (
        match,
        p1 
        p2 
        p3 
        p4 
        p5 
      ) => {
        
        
        if (p1) {
          
          return `[ ]*\\${p1}[ ]*`;
        }
        if (p2) {
          
          return `[ ]*${p2}[ ]*`;
        }
        if (p3) {
          
          return "[ ]+";
        }
        if (matchDiacritics) {
          return p4 || p5;
        }
        if (p4) {
          
          return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : "";
        }
        
        
        if (hasDiacritics) {
          isUnicode = true;
          return `${p5}\\p{M}*`;
        }
        return p5;
      }
    );
    const trailingSpaces = "[ ]*";
    if (query.endsWith(trailingSpaces)) {
      
      
      
      query = query.slice(0, query.length - trailingSpaces.length);
    }
    if (matchDiacritics) {
      
      if (hasDiacritics) {
        DIACRITICS_EXCEPTION_STR ||= String.fromCharCode(
          ...DIACRITICS_EXCEPTION
        );
        isUnicode = true;
        query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\p{M}]|$)`;
      }
    }
    return [isUnicode, query];
  }
  #calculateMatch(pageIndex) {
    let query = this.#query;
    if (query.length === 0) {
      
      return;
    }
    const { caseSensitive, entireWord, phraseSearch } = this._state;
    const pageContent = this._pageContents[pageIndex];
    const hasDiacritics = this._hasDiacritics[pageIndex];
    let isUnicode = false;
    if (phraseSearch) {
      [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics);
    } else {
      
      
      const match = query.match(\S+g);
      if (match) {
        query = match
          .sort()
          .reverse()
          .map(q => {
            const [isUnicodePart, queryPart] = this.#convertToRegExpString(
              q,
              hasDiacritics
            );
            isUnicode ||= isUnicodePart;
            return