phonenumbers.phonenumbermatcher
index
phonenumbers/phonenumbermatcher.py

Functionality to match phone numbers in a piece of text

 
Modules
       
re

 
Classes
       
builtins.object
Leniency
PhoneNumberMatcher
phonenumbers.util.UnicodeMixin(builtins.object)
PhoneNumberMatch

 
class Leniency(builtins.object)
    Leniency when finding potential phone numbers in text segments.
 
The levels here are ordered in increasing strictness.
 
  Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes defined here:
EXACT_GROUPING = 3
POSSIBLE = 0
STRICT_GROUPING = 2
VALID = 1

 
class PhoneNumberMatch(phonenumbers.util.UnicodeMixin)
    PhoneNumberMatch(start, raw_string, numobj)
 
The immutable match of a phone number within a piece of text.
 
Matches may be found using the find() method of PhoneNumberMatcher.
 
A match consists of the phone number (in .number) as well as the .start
and .end offsets of the corresponding subsequence of the searched
text. Use .raw_string to obtain a copy of the matched subsequence.
 
The following annotated example clarifies the relationship between the
searched text, the match offsets, and the parsed number:
 
>>> text = "Call me at +1 425 882-8080 for details."
>>> country = "US"
>>> import phonenumbers
>>> matcher = phonenumbers.PhoneNumberMatcher(text, country)
>>> matcher.has_next()
True
>>> m = matcher.next()  # Find the first phone number match
>>> m.raw_string # contains the phone number as it appears in the text.
"+1 425 882-8080"
>>> (m.start, m.end)  # define the range of the matched subsequence.
(11, 26)
>>> text[m.start, m.end]
"+1 425 882-8080"
>>> phonenumberutil.parse("+1 425 882-8080", "US") == m.number
True
 
 
Method resolution order:
PhoneNumberMatch
phonenumbers.util.UnicodeMixin
builtins.object

Methods defined here:
__eq__(self, other)
Return self==value.
__init__(self, start, raw_string, numobj)
Initialize self.  See help(type(self)) for accurate signature.
__ne__(self, other)
Return self!=value.
__repr__(self)
Return repr(self).
__unicode__(self)

Data and other attributes defined here:
__hash__ = None

Methods inherited from phonenumbers.util.UnicodeMixin:
__str__(self)
Return str(self).

Data descriptors inherited from phonenumbers.util.UnicodeMixin:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
class PhoneNumberMatcher(builtins.object)
    PhoneNumberMatcher(text, region, leniency=1, max_tries=65535)
 
A stateful class that finds and extracts telephone numbers from text.
 
Vanity numbers (phone numbers using alphabetic digits such as '1-800-SIX-FLAGS' are
not found.
 
This class is not thread-safe.
 
  Methods defined here:
__init__(self, text, region, leniency=1, max_tries=65535)
Creates a new instance.
 
Arguments:
text -- The character sequence that we will search, None for no text.
country -- The country to assume for phone numbers not written in
      international format (with a leading plus, or with the
      international dialing prefix of the specified region). May be
      None or "ZZ" if only numbers with a leading plus should be
      considered.
leniency -- The leniency to use when evaluating candidate phone
      numbers.
max_tries -- The maximum number of invalid numbers to try before
      giving up on the text.  This is to cover degenerate cases where
      the text has a lot of false positives in it. Must be >= 0.
__iter__(self)
has_next(self)
Indicates whether there is another match available
next(self)
Return the next match; raises Exception if no next match available

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
Data
        NON_DIGITS_PATTERN = re.compile('(?:\\D+)')
U_DASH = '-'
U_EMPTY_STRING = ''
U_PERCENT = '%'
U_SEMICOLON = ';'
U_SLASH = '/'
U_X_LOWER = 'x'
U_X_UPPER = 'X'