elasticsearch,Regex,elasticsearch" /> elasticsearch,Regex,elasticsearch" />

Elasticsearch regex可查找电话号码和电子邮件

Elasticsearch regex可查找电话号码和电子邮件,regex,elasticsearch,Regex,elasticsearch,我尝试在elasticsearch中使用查询来搜索所有类似于电话号码或/和电子邮件的内容 不幸的是,我找不到正确的语法 { "query": { "regexp": { "biography": { "value": PHONE_NUMBER_REGEXP || EMAIL_REGEX # <-- problem is here } } } }

我尝试在elasticsearch中使用查询来搜索所有类似于电话号码或/和电子邮件的内容

不幸的是,我找不到正确的语法

{
  "query": {
    "regexp": {
      "biography": {
        "value": PHONE_NUMBER_REGEXP || EMAIL_REGEX # <-- problem is here
      }
    }
  }
}
{
“查询”:{
“regexp”:{
“传记”:{

“value”:PHONE_NUMBER_REGEXP | | EMAIL_REGEX#要在REGEX中表达或逻辑,您需要使用一个替换,它由两个子模式组成,由一个
分隔。请考虑:

^(?:\+65[0-9]{8}\S+@gmail\.com)$
这将匹配任何以
+65
开头的新加坡电话号码或任何Gmail电子邮件地址

根据下面@Val的评论,您在麋鹿中使用的实际模式不会使用
^
$
锚定:

{
  "query": {
    "regexp": {
      "biography": {
        "value": "\+65[0-9]{8}|\S+@gmail\.com"
      }
    }
  }
}

请注意,Elasticsearch中的
regexp
查询不接受
$
^
,但OR运算符正常: