正则表达式,从键盘输入两个字符串。第一个字符串命名为m_str,第二个字符串命名为f_str。在f_str的中间(非首字符、非末字符)包含一个‘*’,‘*’代表一个或多个字符。 现请编写程序,查找m_str中是否包含f_str,若包含则输出找到的所有子串。用python
时间: 2024-05-11 07:15:06 浏览: 9
代码实现如下:
```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
```
相关问题
pandas使用正则表达式从后面提取一个字符串
好的,关于您的问题,可以使用pandas中的str.extract()函数来提取字符串。具体操作可以参考以下代码:
import pandas as pd
df = pd.DataFrame({'text':['hello world', 'python is great', 'I love pandas']})
df['last_word'] = df['text'].str.extract(r'(\w+)\s*$')
print(df)
输出结果为:
text last_word
0 hello world world
1 python is great great
2 I love pandas pandas
希望能对您有所帮助。
javascript练习,从键盘中输入两个字符串,在第一个字符串中删除第二个字符串的字符
好的,可以使用 JavaScript 的字符串方法 `replace()` 和正则表达式来实现。具体代码如下:
```javascript
// 获取用户输入的两个字符串
var str1 = prompt("请输入第一个字符串:");
var str2 = prompt("请输入第二个字符串:");
// 构造正则表达式
var reg = new RegExp("[" + str2 + "]", "g");
// 使用 replace() 方法删除第二个字符串的字符
var result = str1.replace(reg, "");
// 输出结果
console.log(result);
```
在上面的代码中,首先通过 `prompt()` 方法获取用户输入的两个字符串,并分别存储在 `str1` 和 `str2` 变量中。然后,我们使用正则表达式构造函数 `RegExp()` 创建一个正则表达式,其中 `[" + str2 + "]` 表示一个字符集,包含了第二个字符串中的所有字符,而 `g` 则表示全局匹配。接下来,我们使用 `replace()` 方法将第二个字符串中的字符替换为空字符串,最终将删除后的结果存储在 `result` 变量中,并输出到控制台上。
注意,上面的代码只能删除第一个字符串中与第二个字符串中相同的字符,如果第二个字符串中有重复字符,也只能删除一个。如果需要删除全部重复字符,可以将正则表达式修改为 `new RegExp("[" + str2 + "]", "g")`。