正则表达式从字符串中搜索数字
这个问题对你来说可能很简单。我正在使用 mysql regexp 语句。
myQuery 是
select * from contents where categories regexp '{myPattern}';
类别字段区域 54,25,99,4,2
... 等字符串。
我的问题是如何从类别字段中找到“4”的数量。
对不起我的英语。 请帮助我。
this question maybe very simple for you. i'm using mysql regexp statment.
myQuery is
select * from contents where categories regexp '{myPattern}';
categories field area 54,25,99,4,2
... etc string.
my question how can i find only number of '4' from categories field.
sorry for my english.
help me please.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
... WHERE FIND_IN_SET('4 ',类别)> 0
更好的是使用自己的表中的类别标准化您的数据库方案,然后将这些表连接在一起 m:n
… WHERE FIND_IN_SET('4', categories) > 0
better yet to normalize your db scheme with categories in their own table and then join these tables together m:n
匹配“任何包含‘4’作为字符串值的cvs字符串”的方法是:
在mysql正则表达式中,
[[:<:]]
表示“单词开头”,[[:>:]]
表示“词尾”。The way to match "any cvs string containing '4' as a value in the string" is:
In mysql regex,
[[:<:]]
means "start of word" and[[:>:]]
means "end of word".您可以使用它:
当
categories
包含4
后跟,
或什么都没有,前面是,
时,这将匹配代码> 或什么也没有。You can use this:
This will match when
categories
contains4
, followed by a,
or nothing, and precedeed by,
or nothing.