python检查word文档的连续重复字,例如“用户的的资料”或“需要需要用户输入”之类的情况.(使用两种方法,其中一种为正则表达式)
时间: 2024-03-17 12:46:22 浏览: 91
方法一:使用字符串操作
可以使用Python中的字符串操作函数来检查文本中的连续重复字。具体方法是,遍历文本中的每个单词,对于每个单词,检查它是否包含连续重复的字符。以下是一个示例代码:
```python
def check_repeated_words(text):
words = text.split()
for word in words:
for i in range(len(word)-1):
if word[i] == word[i+1]:
print(f"Found repeated characters in word '{word}': {word[i:i+2]}")
```
其中,`text`是要检查的文本。首先,使用`split()`函数将文本分割成单词列表。然后,对于每个单词,使用一个循环遍历它的每个字符,检查是否存在连续重复的字符,如果存在,输出提示信息。
方法二:使用正则表达式
同样可以使用正则表达式来检查文本中的连续重复字。以下是一个示例代码:
```python
import re
def check_repeated_words(text):
pattern = r'\b(\w*[^\W\d_])?(\w)\2(\w*[^\W\d_])?\b'
matches = re.findall(pattern, text)
for match in matches:
word = ''.join(match)
print(f"Found repeated characters in word '{word}': {match[1]}{match[2]}")
```
其中,`text`是要检查的文本。正则表达式`r'\b(\w*[^\W\d_])?(\w)\2(\w*[^\W\d_])?\b'`用于匹配单词中的连续重复字。具体来说,`\b`表示单词边界,`(\w*[^\W\d_])?`表示零个或多个非特殊字符,`(\w)`表示一个字母或数字,`\2`表示与前面匹配的第二个组相同的字符,`(\w*[^\W\d_])?`表示零个或多个非特殊字符。`findall()`函数用于查找所有匹配的单词。最后,使用一个循环遍历所有匹配的单词,并输出提示信息。