使用正则表达式在 Python 中匹配空白字符


正则表达式,通常称为 RegEx,是一串字符,对应于文本字符串中的字母、单词或字符模式。这意味着您可以使用正则表达式来匹配和检索文本中的任何字符串模式。搜索和替换过程受益于正则表达式的使用。最常见的应用是搜索与模式匹配的子字符串并替换其他内容。

什么是空白字符?

“空白字符”是指任何表示水平或垂直空间的字母或字符集。使用正则表达式,元字符“\s”在 Python 中匹配空白字符。

算法

  • 导入 re 函数

  • 初始化一个字符串。

  • 使用元字符 \s 在 Python 中匹配空白字符。

  • 使用 findall 方法,' \s’ 元字符和字符串作为参数。

  • 打印结果并获取匹配的空白字符。

语法

result = re.findall(r'[\s]', str)
re.findall(): Return all non-overlapping matches of pattern in string, as a list of strings. The string is scanned left-to-right, and matches are returned in the order found.

regx = re.compile('\W')
re.compile(): We can compile a regular expression into a regex object to look for occurrences of the same pattern inside various target strings without rewriting it.

result = regx.findall(str)
The re module provides a series of methods that let us look for matches in a string:

findall: returns a list of all matches.
split: Returns a list with the string split at each match.
sub: substitutes a string for one or more matches.
  • search - 如果字符串在某处有匹配项,则返回一个 Match 对象。

示例 1:如何在 Python 中匹配空白字符

#importing re function import re #initialising a string str str= 'The Psychology of Money.' #storing the value of findall method in a variable result result = re.findall(r'[\s]', str) #printing the result print('The give string is \n',str) print('It has',len(result),'WhiteSpaces') print (result)

输出

上面代码中的字符串有 3 个空白字符。同样,以下是上述命令的输出:

('The give string is \n', 'The Psychology of Money.')
('It has', 3, 'WhiteSpaces')
[' ', ' ', ' ']

代码解释

我们导入 re 模块来开始使用正则表达式在 Python 中匹配空白字符。下一步是用要匹配空白字符的字符串初始化变量“str”。元字符“\s”用于使用 Python 中的 RegEx 检查空白字符。

定义为“result”的变量存储 Python 函数 findall() 的结果。此函数搜索整个文本中模式存在的所有实例。它采用两个参数,元字符“[\s]”和字符串“str”。最后一步是打印结果作为输出。

示例

#importing re function import re #initializing a string str str= "Honesty is the best policy." #storing the value of findall method in a variable result result = re.findall(r'[\s]', str) #printing the result print('The given string is \n',str) print('It has',len(result),'WhiteSpaces') print (result)

输出

上面代码中的字符串有 4 个空白字符。同样,以下是上述命令的输出:

('The given string is \n', 'Honesty is the best policy.')
('It has', 4, 'WhiteSpaces')
[' ', ' ', ' ', ' ']

示例

#importing re function import re #Taking input from the user and storing it in a string str str= 'Honesty is the best policy' #initialising regex, which will compile all matching word characters regx = re.compile('\W') #storing the value of findall method in a variable result result = regx.findall(str) #printing the result print('The given string is \n',str) print('It has',len(result),'WhiteSpaces') print (result)

输出

上述命令的输出如下:

('The given string is \n', 'Honesty is the best policy')
('It has', 4, 'WhiteSpaces')
[' ', ' ', ' ', ' ']

代码解释

我们加载 re 模块以开始在 Python 中使用正则表达式匹配空白字符。下一步是要求用户输入一个包含我们想要匹配的空白字符的字符串。在 Python 中使用 RegEx 时,元字符“\s”用于匹配空白字符。

Python 方法 findall 存储在一个名为“result”的变量中()。此方法查找文本中模式的每个实例。它需要元字符“[\s]”和字符串“str”作为两个参数。输出返回用户提供的字符串中存在的空白字符。

结论

正则表达式是提供搜索模式的专用文本字符串。它们是一系列字符,表示文本字符串中的某些字母、单词或字符组合。re 模块用于处理正则表达式。元字符“\s”用于使用正则表达式在 Python 中匹配空白字符。

RegEx 中最常用的函数是 findall()、search()、split() 和 sub()。锚点、字符集和修饰符是正则表达式结构的关键组成部分。

更新于:2022年9月20日

17K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始
广告