正则表达式,从键盘输入两个字符串。第一个字符串命名为m_str,第二个字符串命名为f_str。在f_str的中间(非首字符、非末字符)包含一个‘*’,(*代表一个或多个字符)。 现请编写程序,查找m_str中是否包含f_str,若包含则输出找到的所有子串。用python
时间: 2024-05-26 12:10:06 浏览: 93
import re
m_str = input("请输入第一个字符串m_str:")
f_str = input("请输入第二个字符串f_str:")
pattern = f_str.replace("*", ".+") # 将f_str中的*转化为.+
match_obj = re.findall(pattern, m_str) # 找到m_str中符合pattern模式的所有子串
if match_obj:
print("找到的所有子串为:", match_obj)
else:
print("m_str中不包含f_str指定的子串。")
相关问题
正则表达式,从键盘输入两个字符串。第一个字符串命名为m_str,第二个字符串命名为f_str。在f_str的中间(非首字符、非末字符)包含一个‘*’,‘*’代表一个或多个字符。 现请编写程序,查找m_str中是否包含f_str,若包含则输出找到的所有子串。用python
代码实现如下:
```python
import re
m_str = input('请输入第一个字符串m_str:')
f_str = input('请输入第二个字符串f_str:')
# 将f_str中的*替换为正则表达式中的通配符.+
pattern = f_str.replace('*', '.+')
# 在m_str中查找符合正则表达式的子串
result = re.findall(pattern, m_str)
if len(result) > 0:
print('在m_str中找到如下子串:')
for s in result:
print(s)
else:
print('在m_str中未找到任何子串。')
```
使用示例:
```
请输入第一个字符串m_str:abc123abcdef
请输入第二个字符串f_str:a*cde
在m_str中找到如下子串:
abc123abcdef
abcde
```
给出一个字符串(包含一些空格),请找出字符串中所有的单词。 从键盘中输入两个字符串,在第一个字符串中删除第二个字符串的字符。 使用正则表达式匹配日期格式 如2022年11月30日
1. 找出字符串中所有的单词:
可以使用split()函数将字符串按照空格分割成一个单词列表,示例代码如下:
```
string = "This is a sample string"
words = string.split()
print(words)
```
输出结果:
```
['This', 'is', 'a', 'sample', 'string']
```
2. 删除第二个字符串中的字符:
可以使用replace()函数将第二个字符串中的字符替换为空字符串,示例代码如下:
```
str1 = input("Enter the first string: ")
str2 = input("Enter the second string: ")
new_str = str1
for char in str2:
new_str = new_str.replace(char, "")
print(new_str)
```
3. 正则表达式匹配日期格式:
可以使用re模块中的正则表达式函数实现日期格式的匹配,示例代码如下:
```
import re
string = "Today is 2022年11月30日"
pattern = "\d{4}年\d{1,2}月\d{1,2}日"
match = re.search(pattern, string)
if match:
print(match.group())
else:
print("No match found.")
```
输出结果:
```
2022年11月30日
```
阅读全文