请告诉我,除了 \ b 以外,还有什么可以用来突出显示文字呢?
SQLite数据库列中有一个文本“текст”。
正在工作:
select * from myTable where text REGEXP 'текст'
它不起作用:
select * from myTable where text REGEXP '\bтекст\b'
答案 0 :(得分:2)
事实证明您的SQLite REGEXP
实现基于PCRE。
您可以使用\b
PCRE动词使(*UCP)
Unicode感知:
'(*UCP)\bтекст\b'
pcrepattern man page上有一些有关动词的细节:
另一个可能出现在模式开头的特殊序列是
(*UCP)
。这与设置PCRE_UCP
选项具有相同的效果:它导致诸如\d
和\w
之类的序列使用Unicode属性来确定字符类型,而不是仅识别代码小于128的字符通过查找表。
后来:
还要注意,
PCRE_UCP
影响\b
和\B
,因为它们是根据\w
和\W
定义的。设置PCRE_UCP
时,匹配这些序列的速度明显变慢。
好吧,它会慢一些,因为它现在必须处理整个Unicode表。