首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式与MySQL数据库中的单个完整单词匹配

正则表达式与MySQL数据库中的单个完整单词匹配
EN

Stack Overflow用户
提问于 2015-01-12 16:21:10
回答 1查看 663关注 0票数 1

我需要一个正则表达式才能将a的单个单词与6个或更多字符匹配。

下列字句清单:

代码语言:javascript
运行
复制
a
27
it was good because
it
cat went to
four
eight is bigger
peter
pepper
objects
83
harrison99
adjetives
atom-bomb

以下内容将被匹配

黑胡椒( pepper )

对象

形容词

如果下面的内容也匹配的话,也不算太糟,因为我可以在后面删除这些副本。

它是好的因为

8是较大的

原子弹

到目前为止我有这个

代码语言:javascript
运行
复制
/[a-zA-z]{6,}/g

它根据RegEx 101匹配6个字符或更多的单词,但是当我在MySQL数据库中使用它来筛选上的表时,RegExp匹配。

  1. 目前,它包括包含标点符号和其他非a字符的单词.我不希望它包括结果与数字或标点符号。
  2. 在一个理想的世界里,我不希望它包含一个包含多个单词的行,因为通常其他单词已经重复了。

实际MySQL结果

如果一行包含一个数字或标点符号和/或包含一个或多个单词,我不希望它包括在内。

我只希望结果是单个的,完整的6+字符

EN

回答 1

Stack Overflow用户

发布于 2015-01-12 16:34:28

删除分隔符并为start/end添加

代码语言:javascript
运行
复制
SELECT 'abcdef' REGEXP '^[a-zA-Z]{6,}$'

-> 1

代码语言:javascript
运行
复制
SELECT 'a abcdef' REGEXP '^[a-zA-Z]{6,}$'

-> 0

此外,我还将字符类中的[a-zA-z]更改为[a-zA-Z]

而不是[a-zA-Z],您也可以使用[[:alpha:]] POSIX型托架扩展。因此,它变成:

代码语言:javascript
运行
复制
^[[:alpha:]]{6,}$

(附带说明: MySql使用Henry正则表达式的实现。如果字界需要,可以使用[[:<:]]word[[:>:]] 见手册来获取进一步的语法差异)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27906385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档