RegEx。西里尔字母符号\ b

问题描述 投票:2回答:1

请告诉我,除了\ b还能用什么来突出西里尔文字?

我在SQLite数据库列中有一个文本“текст”。

正在运行:

select * from myTable where text REGEXP 'текст'

不起作用:

select * from myTable where text REGEXP '\bтекст\b'
regex pcre cyrillic
1个回答
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表。

© www.soinside.com 2019 - 2024. All rights reserved.