Topics   All   MacOS (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Deprecated   Guides   Examples   Videos
New in version: 10.2   10.3   10.4   10.5   11.0   11.1   11.2   11.3   11.4   11.5    Statistic    FMM    Blog  

RegEx.DataDetector

Performs data detection to find details in text.

Component Version macOS Windows Linux Server iOS SDK
RegEx 11.1 ✅ Yes ❌ No ❌ No ✅ Yes, on macOS ✅ Yes
MBS( "RegEx.DataDetector"; CheckingType; Text )   More

Parameters

Parameter Description Example
CheckingType What type of data to look for.
Can be a combination of Date, Address, Link, PhoneNumber or TransitInformation.
"Address, PhoneNumber"
Text The text to check. "Phone us at (555)555-555 later!"

Result

Returns JSON or error.

Description

Performs data detection to find details in text.
Based on Apple's data detector framework, we can identify valuable information in texts.
We return results as JSON array with an entry for each item found.

All result items include the type, text, position and length.
Date results include the Date, DateGMT, Duration and TimeZone entries. Date should be localized for FileMaker and DateGMT is standard SQL format for GMT.
The address result may include Name, JobTitle, Organization, Street, City, State, ZIP and Country.

You may run this from Windows or iOS with PSoS on a macOS server.

Examples

Find a phone number:

MBS( "RegEx.DataDetector"; "PhoneNumber"; "Phone us at (555)555-555 later!" )

Example result:
[
  {
    "length" : 12,
    "position" : 13,
    "text" : "(555)555-555",
    "type" : "PhoneNumber",
    "PhoneNumber" : "(555)555-555"
  }
]

Find date:

MBS( "RegEx.DataDetector"; "Date"; "Call me tomorrow at 8pm later." )

Example result:
[
  {
    "length" : 15,
    "Duration" : 0,
    "position" : 9,
    "Date" : "21.02.2021 20:00",
    "text" : "tomorrow at 8pm",
    "TimeZone" : null,
    "type" : "Date",
    "DateGMT" : "2021-02-21 19:00:00 +0000"
  }
]

Find a link:

MBS( "RegEx.DataDetector"; "Link"; "Visit http://www.mbsplugins.eu/ to learn more." )

Example result:
[
  {
    "length" : 25,
    "position" : 7,
    "text" : "http:\/\/www.mbsplugins.eu\/",
    "type" : "Link",
    "URL" : "http:\/\/www.mbsplugins.eu\/"
  }
]

Find an address:

MBS( "RegEx.DataDetector"; "Address"; "Visit use at Apple Park, One Apple Park Way, Cupertino, CA 95014, United States to learn more." )

Example result:
[
  {
    "length" : 54,
    "position" : 26,
    "Street" : "One Apple Park Way",
    "State" : "CA",
    "ZIP" : "95014",
    "text" : "One Apple Park Way, Cupertino, CA 95014, United States",
    "Country" : "United States",
    "type" : "Address",
    "City" : "Cupertino"
  }
]

Find transit information:

MBS( "RegEx.DataDetector"; "TransitInformation"; "Take LH444 or DL15 to Atlanta." )

Example result:
[
  {
    "length" : 5,
    "position" : 6,
    "Flight" : "444",
    "text" : "LH444",
    "type" : "TransitInformation"
  },
  {
    "length" : 4,
    "position" : 15,
    "Flight" : "15",
    "text" : "DL15",
    "type" : "TransitInformation"
  }
]

Find phone number and address in one text:

MBS( "RegEx.DataDetector"; "Address, PhoneNumber"; "abc Inc¶Mr. John Meyer¶Neuer Weg 50¶12345 Neuestadt¶¶Phone: 0123 456789¶Fax: 0123 456780" )

Example result:
[
  {
    "length" : 28,
    "position" : 24,
    "Street" : "Neuer Weg 50",
    "ZIP" : "12345",
    "text" : "Neuer Weg 50\r12345 Neuestadt",
    "type" : "Address",
    "City" : "Neuestadt"
  },
  {
    "length" : 11,
    "position" : 61,
    "text" : "0123 456789",
    "type" : "PhoneNumber",
    "PhoneNumber" : "0123 456789"
  },
  {
    "length" : 11,
    "position" : 78,
    "text" : "0123 456780",
    "type" : "PhoneNumber",
    "PhoneNumber" : "0123 456780"
  }
]

Find date with duration:

MBS( "RegEx.DataDetector"; "Date"; "We are closed from 1st to 5th April." )

Example result:
[
  {
    "length" : 21,
    "Duration" : 345600,
    "position" : 15,
    "Date" : "01.04.2021 12:00",
    "text" : "from 1st to 5th April",
    "TimeZone" : null,
    "type" : "Date",
    "DateGMT" : "2021-04-01 10:00:00 +0000"
  }
]

Find an email:

MBS( "RegEx.DataDetector"; "Link"; "John Miller <John.miller@mbsplugins.com>" )

Example result:
[
  {
    "length" : 26,
    "position" : 14,
    "text" : "John.miller@mbsplugins.com",
    "type" : "Link",
    "URL" : "mailto:John.miller@mbsplugins.com"
  }
]

Release notes

Example Databases

Blog Entries

FileMaker Magazin

Videos

Created 18th February 2021, last changed 6th July 2021


RegEx.Compile - RegEx.Execute

Feedback: Report problem or ask question.




Links
MBS Xojo blog

Start Chat