regex - Elasticsearch - 匹配固定位数的十六进制数
问题描述
我一直在尝试使用 query_string 和通配符来排除我数据中的某些值。
我有以下类型的值:
qa4689f54ad-XYXY
所以该值以“q”开头,然后我有一个 10 位的十六进制数,然后是连字符,然后是其余的。
我尝试了明显的 q[a-fA-F0-9]{10}* 表达式(带有转义符 \),但它不匹配!
当我在正则表达式测试器网站上尝试相同的正则表达式时,它完全匹配。
我已经在 Elasticsearch 中解决了 10 个与正则表达式相关的问题,但都是徒劳的。
有人可以帮忙吗?谢谢。
解决方案
{10}*
不是正则表达式中的有效构造。
你的意思是:
q[a-fA-F0-9]{10}.*
或(以确保连字符存在):
q[a-fA-F0-9]{10}-.*
或(以确保匹配发生在字符串的开头)
^q[a-fA-F0-9]{10}-.*
推荐阅读
- python - 不能将序列乘以“float”类型的非整数(没有库的图像混合)
- python - 返回作为第二个参数传递的数组中第一个参数的索引的函数
- amazon-web-services - AWS Cognito 在将 istio sidecar 添加到 pod 后无法进行身份验证
- javascript - 将媒体对象从视图发布到控制器
- python - 当我输入任何和每个 pip 命令时都会出现 pip 错误
- excel - 从 Visual Basic 中获取价值
- reactjs - 如何部署更新项目并在 github 上发布?
- python - 从另一个文件夹导入 Python 中的包和模块
- php - 当我更改它时,我的每个页面的 css 都没有被更改,但是当我删除它的链接时,它会影响它
- python - 使用 QLineEdits 清除 QTableWidget 后加载速度非常慢