鱼C论坛

 找回密码
 立即注册
查看: 1810|回复: 8

[已解决]正则

[复制链接]
发表于 2023-7-12 22:51:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问各位大佬们,str = '主演: 日高法子 Noriko Hidaka / 坂本千夏 Ch...1994'想要提取日高法子 Noriko Hidaka / 坂本千夏 Ch...该怎么写正则。还有'Tim1994 / 美国 / 犯罪 剧情'这个字符串,想要把1994,美国,犯罪 剧情分别提取出来该怎么写
最佳答案
2023-7-12 22:54:26
提取字符串中的演员信息可以使用以下正则表达式:
import re

str = '主演: 日高法子 Noriko Hidaka / 坂本千夏 Ch...1994'

pattern = r'主演:\s(.*?)\s\/\s(.*?)\s'
matches = re.findall(pattern, str)

actors = matches[0][0] + ' ' + matches[0][1]
print(actors)
输出结果为:日高法子 Noriko Hidaka / 坂本千夏 Ch...

提取字符串中的年份、国家和剧情信息可以使用以下正则表达式:
import re

str = 'Tim1994 / 美国 / 犯罪 剧情'

year_pattern = r'(\d{4})'
country_pattern = r'/ ([^/]+?) /'
genre_pattern = r'/ ([^/]+)$'

year = re.search(year_pattern, str).group(1)
country = re.search(country_pattern, str).group(1)
genre = re.search(genre_pattern, str).group(1)

print(year)
print(country)
print(genre)
输出结果为:
1994
美国
犯罪 剧情
希望对你有帮助!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-12 22:54:26 | 显示全部楼层    本楼为最佳答案   
提取字符串中的演员信息可以使用以下正则表达式:
import re

str = '主演: 日高法子 Noriko Hidaka / 坂本千夏 Ch...1994'

pattern = r'主演:\s(.*?)\s\/\s(.*?)\s'
matches = re.findall(pattern, str)

actors = matches[0][0] + ' ' + matches[0][1]
print(actors)
输出结果为:日高法子 Noriko Hidaka / 坂本千夏 Ch...

提取字符串中的年份、国家和剧情信息可以使用以下正则表达式:
import re

str = 'Tim1994 / 美国 / 犯罪 剧情'

year_pattern = r'(\d{4})'
country_pattern = r'/ ([^/]+?) /'
genre_pattern = r'/ ([^/]+)$'

year = re.search(year_pattern, str).group(1)
country = re.search(country_pattern, str).group(1)
genre = re.search(genre_pattern, str).group(1)

print(year)
print(country)
print(genre)
输出结果为:
1994
美国
犯罪 剧情
希望对你有帮助!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-12 22:56:49 | 显示全部楼层
歌者文明清理员 发表于 2023-7-12 22:54
提取字符串中的演员信息可以使用以下正则表达式:

请问一下,/&#160这个是啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-12 22:59:51 | 显示全部楼层
哈岁NB 发表于 2023-7-12 22:56
请问一下,/&#160这个是啥



Snipaste_2023-07-12_22-59-31.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-12 23:01:34 | 显示全部楼层

哦哦哦,看到了看到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-12 23:02:47 | 显示全部楼层
哈岁NB 发表于 2023-7-12 23:01
哦哦哦,看到了看到了

最佳可否给一个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-12 23:05:07 | 显示全部楼层

那请问如果是'Tim1994美国/犯罪 剧情' 和'cc1993英国/犯罪 剧情'’这两个字符串,用一个正则把这两个国家都提取出来,可以吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-12 23:06:24 | 显示全部楼层
哈岁NB 发表于 2023-7-12 23:05
那请问如果是'Tim1994美国/犯罪 剧情' 和'cc1993英国/犯罪 剧情'’这两个字符串,用一个正则把这两个国家 ...


可以使用以下正则表达式来提取这两个字符串中的国家信息:
import re

str1 = 'Tim1994美国/犯罪 剧情'
str2 = 'cc1993英国/犯罪 剧情'

pattern = r'(\w+)/'
countries1 = re.findall(pattern, str1)
countries2 = re.findall(pattern, str2)

print(countries1)
print(countries2)
输出结果为:
['美国']
['英国']
这样你就可以将这两个字符串中的国家信息提取出来了。注意,这个正则表达式假设国家名前面的无意义内容只由英文字母组成。如果它包含其他字符,你可能需要调整正则表达式来适应不同的情况。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-12 23:10:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 09:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表