8.4. Syntax Negation

  • Negation logically inverts qualifier

8.4.1. SetUp

>>> import re

8.4.2. Syntax

  • [^...] - anything but ...

8.4.3. Example

  • [^abc] - anything but letter a or b or c

>>> TEXT = 'Mark Watney of Ares 3 landed on Mars on: Nov 7th, 2035 at 1:37 pm'
>>> re.findall(r'[0-9]', TEXT)
['3', '7', '2', '0', '3', '5', '1', '3', '7']
>>> re.findall(r'[^0-9]', TEXT)  
['M', 'a', 'r', 'k', ' ', 'W', 'a', 't', 'n', 'e', 'y', ' ', 'o', 'f',
 ' ', 'A', 'r', 'e', 's', ' ', ' ', 'l', 'a', 'n', 'd', 'e', 'd', ' ',
 'o', 'n', ' ', 'M', 'a', 'r', 's', ' ', 'o', 'n', ':', ' ', 'N', 'o',
 'v', ' ', 't', 'h', ',', ' ', ' ', 'a', 't', ' ', ':', ' ', 'p', 'm']

8.4.4. Compare

>>> TEXT = 'Mark Watney of Ares 3 landed on Mars on: Nov 7th, 2035 at 1:37 pm'
>>> re.findall('[A-Z]', TEXT)
['M', 'W', 'A', 'M', 'N']
>>> re.findall('^[A-Z]', TEXT)
['M']
>>> re.findall('[^A-Z]', TEXT)  
['a', 'r', 'k', ' ', 'a', 't', 'n', 'e', 'y', ' ', 'o', 'f', ' ', 'r',
 'e', 's', ' ', '3', ' ', 'l', 'a', 'n', 'd', 'e', 'd', ' ', 'o', 'n',
 ' ', 'a', 'r', 's', ' ', 'o', 'n', ':', ' ', 'o', 'v', ' ', '7', 't',
 'h', ',', ' ', '2', '0', '3', '5', ' ', 'a', 't', ' ', '1', ':', '3',
 '7', ' ', 'p', 'm']
>>> re.findall('^[^A-Z]', TEXT)
[]