这里有30个python常用的正则表达式

  1. 匹配任意字符:”.”
re.findall("a.b", "adb, acb, a=b") # 输出:['adb', 'acb', 'a=b']
  1. 匹配指定字符:”[abc]”
e.findall("[abc]", "adb, acb, a=b") # 输出:['a', 'b', 'a', 'b']
  1. 匹配除指定字符外的所有字符:”[^abc]”
re.findall("[^abc]", "adb, acb, a=b") # 输出:['d', ',', ' ', '=', ',']
  1. 匹配任意数字字符:”\d”
re.findall("\d", "12 34 56") # 输出:['1', '2', '3', '4', '5', '6']
  1. 匹配任意非数字字符:”\D”
re.findall("\D", "12 34 56") # 输出:[' ', ' ']
  1. 匹配任意字母数字字符:”\w”
re.findall("\w", "Hello123!") # 输出:['H', 'e', 'l', 'l', 'o', '1', '2', '3']
  1. 匹配任意非字母数字字符:”\W”
re.findall("\W", "Hello123!") # 输出:['!']
  1. 匹配空白字符:”\s”
re.findall("\s", "Hello World!") # 输出:[' ', ' ']
  1. 匹配非空白字符:”\S”
re.findall("\S", "Hello World!") # 输出:['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd', '!']
  1. 匹配0个或多个前面的表达式:”*”
re.findall("ab*c", "ac, abc, abbc") # 输出:['ac', 'abc', 'abbc']
  1. 匹配1个或多个前面的表达式:”+”
re.findall("ab+c", "ac, abc, abbc") # 输出:['abc', 'abbc']
  1. 匹配0个或1个前面的表达式:”?”
re.findall("ab?c", "ac, abc, abbc") # 输出:['ac', 'abc']
  1. 匹配指定次数的前面表达式:”{n}”
re.findall("ab{2}c", "ac, abc, abbc") # 输出:['abbc']
  1. 匹配至少n次的前面表达式:”{n,}”
re.findall("ab{2,}c", "ac, abc, abbc, abbbbc") # 输出:['abbc', 'abbbbc']
  1. 匹配n到m次的前面表达式:”{n,m}”
re.findall("ab{2,3}c", "ac, abc, abbc, abbbbc") # 输出:['abbc']
  1. 匹配以指定字符开头的字符串:”^”
re.findall("^abc", "abc, abcdef") # 输出:['abc']
  1. 匹配以指定字符结尾的字符串:”$”
re.findall("abc$", "abcdef, abc") # 输出:['abc']
  1. 匹配指定字符串之间的字符串:”(?<=string1)string2(?=string3)”
re.findall("(?<=hello)world(?=!)","sayhelloworld!") # 输出:['world']
  1. 匹配一个或多个分组的字符串:”(string1|string2)”
re.findall("(ab|cd)", "abc, acd, abd") # 输出:['ab', 'cd']
  1. 匹配任意字符(除换行符):”.”
 re.findall(".", "Hello\nworld!") # 输出:['H', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd', '!']
  1. 匹配任意字符(包括换行符):”(?s).”
re.findall("(?s).", "Hello\nworld!") # 输出:['H', 'e', 'l', 'l', 'o', '\n', 'w', 'o', 'r', 'l', 'd', '!']
  1. 匹配开始位置(不包括换行符):”(?m)^”
re.findall("(?m)^Hello", "Hello\nworld!") # 输出:['Hello']
  1. 匹配结束位置(不包括换行符):”(?m)$”
re.findall("world$(?m)", "Hello\nworld!") # 输出:['world']
  1. 匹配整词边界:”\b”
re.findall(r"\bhello\b", "hello world, say hello") # 输出:['hello']
  1. 匹配非整词边界:”\B”
re.findall(r"\Bhello\B", "hello world, say hello") # 输出:['hello']
  1. 非贪婪匹配(匹配到第一个满足条件的结果):”?”
re.findall("a.*?b", "ab, aab, abb") # 输出:['ab', 'aab', 'ab']
  1. 匹配换行符:”\n”
re.findall("\n", "Hello\nworld!") # 输出:['\n']
  1. 匹配制表符:”\t”
re.findall("\t", "Hello\tworld!") # 输出:['\t']
  1. 匹配回车符:”\r”
re.findall("\r", "Hello\rworld!") # 输出:['\r']
  1. 匹配多行模式:”(?m)”
re.findall("(?m)^Hello", "Hello\nworld!") # 输出:['Hello']

已发布

分类

标签:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注