鱼C论坛

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

[已解决]正则

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

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

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

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

  1. import re

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

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

  5. actors = matches[0][0] + ' ' + matches[0][1]
  6. print(actors)
复制代码

输出结果为:日高法子 Noriko Hidaka / 坂本千夏 Ch...

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

  1. import re

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

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

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

  9. print(year)
  10. print(country)
  11. print(genre)
复制代码

输出结果为:

  1. 1994
  2. 美国
  3. 犯罪 剧情
复制代码

希望对你有帮助!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

  1. import re

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

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

  5. actors = matches[0][0] + ' ' + matches[0][1]
  6. print(actors)
复制代码

输出结果为:日高法子 Noriko Hidaka / 坂本千夏 Ch...

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

  1. import re

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

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

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

  9. print(year)
  10. print(country)
  11. print(genre)
复制代码

输出结果为:

  1. 1994
  2. 美国
  3. 犯罪 剧情
复制代码

希望对你有帮助!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

请问一下,/&#160这个是啥
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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



Snipaste_2023-07-12_22-59-31.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

哦哦哦,看到了看到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

最佳可否给一个
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

那请问如果是'Tim1994美国/犯罪 剧情' 和'cc1993英国/犯罪 剧情'’这两个字符串,用一个正则把这两个国家都提取出来,可以吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


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

  1. import re

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

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

  7. print(countries1)
  8. print(countries2)
复制代码

输出结果为:

  1. ['美国']
  2. ['英国']
复制代码

这样你就可以将这两个字符串中的国家信息提取出来了。注意,这个正则表达式假设国家名前面的无意义内容只由英文字母组成。如果它包含其他字符,你可能需要调整正则表达式来适应不同的情况。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-12 23:10:25 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-23 17:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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