摩根娱乐货物运输站
 
 
新闻中心
分类

新闻中心

用于搜索和匹配文本的模式
编辑:佚名 时间:2024-06-18

构建易于阅读的模式来匹配电子邮件地址。

电子邮件地址遵循结构 username@domain.TLD,其中 usernamedomain 由用句点分隔的标识符组成。构建一个模式,它匹配由字母数字字符和 字符的任意组合组成的标识符。使用 将此模式命名为 。

identifier=asManyOfPattern(alphanumericsPattern(1) | "_", 1);
identifier=maskedPattern(identifier);

构建模式以匹配由标识符组成的域和子域。创建一个匹配指定列表中的 TLD 的模式。

subdomain=asManyOfPattern(identifier + ".") + identifier;
domainName=namedPattern(identifier,"domainName");
tld="com" | "org" | "gov" | "net" | "edu";

构建一个模式来匹配电子邮件的本地部分,它匹配一个或多个用句点分隔的标识符。通过组合先前定义的各模式构建一个模式,用于匹配域、TLD 和任何可能存在的子域。使用 将其中每个模式分配给一个命名模式。

username=asManyOfPattern(identifier + ".") + identifier;
domain=optionalPattern(namedPattern(subdomain) + ".") + ...
            domainName + "." + ...
            namedPattern(tld);

将所有模式组合成一个模式表达式。使用 将 、 和 分配给命名模式。

emailAddress=namedPattern(username) + "@" + namedPattern(domain);
emailPattern=namedPattern(emailAddress)
emailPattern=pattern
  Matching emailAddress:

    username + "@" + domain

  Using named patterns:

    emailAddress  : username + "@" + domain
      username    : asManyOfPattern(identifier + ".") + identifier
      domain      : optionalPattern(subdomain + ".") + domainName + "." + tld
        subdomain : asManyOfPattern(identifier + ".") + identifier
        domainName: identifier
        tld       : "com" | "org" | "gov" | "net" | "edu"

  Use details to show more information

创建一个包含电子邮件地址的字符串,然后从文本中提取模式。

txt="You can reach me by email at John.Smith@department.organization.org";
extract(txt,emailPattern)
ans="John.Smith@department.organization.org"

命名模式允许使用点索引以便访问命名子模式。使用点索引将特定值赋给命名模式 。

emailPattern.emailAddress.domain="mathworks.com"
emailPattern=pattern
  Matching emailAddress:

    username + "@" + domain

  Using named patterns:

    emailAddress: username + "@" + domain
      username  : asManyOfPattern(identifier + ".") + identifier
      domain    : "mathworks.com"

  Use details to show more information


分享到:
摩根娱乐货物运输站

分享到:

400-123-4567
Copyright © 2012-2018 摩根娱乐货物运输站 版权所有 非商用版本
 

平台注册入口