栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySQL REGEXP单词边界[[::]]和双引号

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL REGEXP单词边界[[::]]和双引号

首先让我引用文档:

[[:<:]],[[:>:]]

这些标记代表单词边界。它们分别匹配单词的开头和结尾。单词是单词字符的序列,不能在单词字符之前或之后。单词字符是alnum类中的字母数字字符或下划线(_)。

从文档中,我们可以看到问题背后的原因,而原因并非由逃逸引起。问题是您试图

[[:<:]]
在字符串的开头匹配单词边界,这是行不通的,因为从文档中可以看到单词边界将单词字符与非单词字符分开,但是在您的情况下第一个字符是a
"
,不是单词字符,因此没有单词边界,最后一个
"
和也是如此
[[:>:]]

为了使它起作用,您需要对此表达式进行一些更改:

"[[:<:]]word[[:>:]]" ^^^^^^^    ^^^^^^^

注意,此时的字边界分隔非单词字符

"
从字字符
w
在开始和
"
d
字符串的结尾。

编辑: 如果您始终想在字符串的开头和结尾使用单词边界而不知道是否会有实际边界,则可以使用以下表达式:

([[:<:]]|^)"word"([[:>:]]|$)

这将匹配单词边界的开头或字符串的开头,并且匹配单词边界或字符串

^
结尾的结尾。我真的建议您研究要尝试匹配的数据,寻找常见的模式,如果它们不是适合工作的正确工具,请不要使用正则表达式。

SQL小提琴演示



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426241.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号