15-1.识别下列字符串:“bat”,“bit”,“but”,“hat”,“hit“或”hut“。
import re key = 'batshdajbut' p1 = r'(bat|bit|but|hat|hit|hut)' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.groups())
15-2.匹配用一个空格分隔的任意一对单词,比如名和姓。
import re key = 'app ddd' p1 = r'[A-Za-z]+ [ A-Za-z]+' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-3.匹配用一个逗号和一个空格分开的一个单词和一个字母
import re key = 'app, d' p1 = r'\w+, \w?' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-4.匹配所有合法的Python标识符
import re key = 'init' p1 = r'[A-Za-z_](\w|_)*' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-5请根据你本地关于地址的格式写法匹配一个街道地址。
import re key = '3120 De la Cruz Boulevard' p1 = r'\d+(\s[A-Za-z]+)+' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-6.匹配简单的以”www.“开头,以”.com“作结尾的Web域名。
import re key = 'www.oddad.com' p1 = r'\b^www..+.com$\b' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
附加题:
import re key = 'www.oddad.edu' p1 = r'\b^www..+(.com|.edu|.net)$\b' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-7.匹配全体Python整型的字符串表示形式的集合。
import re key = '123 323 311' p1 = r'( *\d+ *)+' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-8.匹配全体Python长整型的字符串表示的集合。
import re key = '3L 33333L 1111L' p1 = r'( *\d+[lL] *)+' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-9.匹配全体Python浮点型的字符串表示形式的集合。
import re key = '3.3 3.1 3' p1 = r'\d+(.\d)*' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-10.匹配全体Python复数的字符串表示形式的集合。
import re key = '1+3j 3j' p1 = r'( *\d*\+*(\dj)+ *)+' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-11.匹配所有合法的电子邮箱地址。
import re key = '[email protected]' p1 = r'\w+@\w+(.com)$' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-12.匹配所有合法的Web网站地址(URL)。
import re key = 'www.hao123.com' p1 = r'\b^www.\w+(.com|.net|.edu)$' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-13.写一个正则表达式,能从这个字符串中提取出类型的名字。
import re def type(string): p1 = r"<type '(\w+)'>" m = re.search(p1, string) if m is not None: return m.group(1) print(type("<type 'int'>"))
15-14.正则表达式。请写一个正则表达式表示标准日历上其他三个月(十月,十一月,十二月)
import re key = '10 11 12' p1 = r'( *1+[0-2] *)+' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())
15-15.正则表达式。请写出一个允许使用连字符的正则表达式,但要求连字符必须出现在正确的位置。
import re key = '1232-111111-12345' p1 = r'([0-9]{4}-?[0-9]{6}-?[0-9]{5})|([0-9]{4}-?[0-9]{4}-?[0-9]{4}-[0-9]{4})' pattern1 = re.compile(p1) matcher1 = re.search(pattern1, key) print(matcher1.group())