我有一个特定的正则表达式:
#\b[a-z0-9-_%"]+\b#gi
我有以下测试字符串,我将该正则表达式过滤器应用于:
abc def ghi jkl mno %%car% __car_ tall-person "thing" 20% %30%
但是,检测到的单词边界如下(方括号代表边界):
[abc] [def] [ghi] [jkl] [mno] %%[car%] [__car_] [tall-person] "[thing"] [20%] %[30%]
因此,某些类型的标点符号(“_”)在单词的开头和结尾都被识别为“单词字符”。另一方面,其他类型(“%”或双引号)在单词开头时会被忽略。为什么是这样?