[
    {
        "entity_name": "EMAIL",
        "entity_description": "Entity type for email entities",
        "regex": "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}",
        "description_template": "Email address: {}"
    },
    {
        "entity_name": "PHONE",
        "entity_description": "Entity type for phone entities",
        "regex": "\\+?\\d{1,4}[\\s-]?\\(?\\d{2,4}\\)?[\\s-]?\\d{3,4}[\\s-]?\\d{3,4}",
        "description_template": "Phone number: {}"
    },
    {
        "entity_name": "URL",
        "entity_description": "Entity type for url entities",
        "regex": "https?:\\/\\/(www\\.)?[a-zA-Z0-9-]+(\\.[a-zA-Z]{2,})+(\\/\\S*)?",
        "description_template": "URL: {}"
    },
    {
        "entity_name": "DATE",
        "entity_description": "Entity type for date entities",
        "regex": "(\\d{4}[-/]\\d{2}[-/]\\d{2})|(\\d{2}[-/]\\d{2}[-/]\\d{4})",
        "description_template": "Date: {}"
    },
    {
        "entity_name": "TIME",
        "entity_description": "Entity type for time entities",
        "regex": "(1[0-2]|0?[1-9]):[0-5][0-9](\\s?[APap][Mm])?|([01]?[0-9]|2[0-3]):[0-5][0-9]",
        "description_template": "Time: {}"
    },
    {
        "entity_name": "MONEY",
        "entity_description": "Entity type for money entities",
        "regex": "\\$?\\d{1,3}(,\\d{3})*(\\.[0-9]{2})?|\\€?\\d{1,3}(\\.\\d{3})*(,[0-9]{2})?",
        "description_template": "Monetary amount: {}"
    },
    {
        "entity_name": "PERSON",
        "entity_description": "Entity type for person entities",
        "regex": "\\b(?:(?:Dr|Prof|Mr|Mrs|Ms)\\.?\\s+)?[A-Z][a-z]+(?:\\s+(?:[A-Z][a-z]+|[A-Z]\\.?|(?:van|de|la|del|von|der|le)))+\\b",
        "description_template": "Person name: {}"
    },
    {
        "entity_name": "HASHTAG",
        "entity_description": "Entity type for hashtag entities",
        "regex": "\\#[A-Za-z0-9_]+",
        "description_template": "Hashtag: {}"
    },
    {
        "entity_name": "MENTION",
        "entity_description": "Entity type for mention entities",
        "regex": "\\@[A-Za-z0-9_]+",
        "description_template": "Mention: {}"
    },
    {
        "entity_name": "IP_ADDRESS",
        "entity_description": "Entity type for ip_address entities",
        "regex": "(?<!\\d\\.)(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d?|0)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d?|0)(?!\\.\\d)",
        "description_template": "IP address: {}"
    }
]
