notepad-plus-plus / notepad-plus-plus/notepad-plus-plus
[BUG] RegEx fails to detect some Unicode char if prefixed by other characters
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 29.4k
- Forks
- 5.4k
- PR merge metrics
- No merged PRs in 30d
Description
Is there an existing issue for this?
- I have searched the existing issues
Description of the Issue
RegEx fails to detect Unicode character (Ex: 𝘰) if prefixed by other characters (Ex: N)
Steps To Reproduce
- Open Notepad++ and create new
.txtfile - Paste below lines in new text file
No
N𝘰
𝘰
- Open find/replace dialogue box and find
[NnƝ]+[Ooοᴑօ0𝘰]+ - Then, find
[Ooοᴑօ0𝘰]+
Current Behavior
Find [NnƝ]+[Ooοᴑօ0𝘰]+ detects characters only in the 1st line in N++ but detects characters in 1st and 2nd lines in regex101
Find [Ooοᴑօ0𝘰]+ detects characters in all three lines
Expected Behavior
Find [NnƝ]+[Ooοᴑօ0𝘰]+ should detect characters in 1st and 2nd lines
Debug Information
Notepad++ v8.7.9 (64-bit)
Build time : Mar 26 2025 - 03:20:28
Scintilla/Lexilla included : 5.5.5/5.4.3
Boost Regex included : 1_85
Path : D:\Data\usb x64\Notepad++\notepad++.exe
Command Line : "D:\Mobile\internal\Books\Longevity, starting from being - East Sea Fish Head.txt"
Admin mode : OFF
Local Conf mode : ON
Cloud Config : OFF
Periodic Backup : ON
Placeholders : OFF
Scintilla Rendering Mode : SC_TECHNOLOGY_DEFAULT (0)
Multi-instance Mode : monoInst
File Status Auto-Detection : cdEnabledNew (for current file/tab only)
Dark Mode : ON
OS Name : Windows 11 Home Single Language (64-bit)
OS Version : 24H2
OS Build : 26100.3476
Current ANSI codepage : 1252
Plugins :
AutoSave (2)
BracketsCheck (1.2.2)
ComparePlus (1.2)
DSpellCheck (1.5)
ExtSettings (1.3.1)
FileFinder (0.3)
Linefilter3 (1)
MenuIcons (2.0.7)
mimeTools (3.1)
nppAutoDetectIndent (2.3)
NppMenuSearch (0.9.6)
NppTextFX (1.4.1)
_CustomizeToolbar (5.3)
Anything else?
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the pattern in the Find/Replace dialogue using the three lines and compare the two searches. Trace the Unicode matching behavior in the regex implementation identified by the Boost Regex version, then verify that [NnƝ]+[Ooοᴑօ0𝘰]+ matches the first and second lines without changing the existing single-class behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- search
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100