gpt4 book ai didi

python-3.x - 如何通过忽略字符串前面的特殊字符从文本中提取正确的字符串?

转载 作者:行者123 更新时间:2023-12-04 03:56:32 26 4
gpt4 key购买 nike

我有几个文本,我必须从中提取字符串后跟特定单词,但我面临一个问题,特殊字符(它可以是任何特殊字符)前面是字符串。请更正我的正则表达式以获得正确的结果:
这是一些粘贴的文本示例示例 1:
“客户编号�123456”
示例 2:
“客户 ID %9999999”
示例 3:
“客户 ID 12121212”
示例 4:
“客户 ID @134563”

我想要以上文本示例的以下输出:
示例 1 输出:
“123456”
示例 2 输出:
“9999999”
示例 3 输出:
“12121212”
示例 4 输出:
“134563”

我使用的正则表达式给出了错误的输出:
r'\bcustomer\s(?:id|no)\s+(\w+)'

请帮我更正我的正则表达式以获得正确的输出。

最佳答案

您可以使用 \W 来匹配任何非单词字符(主要是除字母、数字或下划线之外的任何字符):

r'\bcustomer\s(?:id|no)\W+(\w+)'

参见 regex demo

详情

  • \b - 单词边界
  • customer - 一个字符串
  • \s - 一个空格(在 \s 之后添加 + 以匹配任何一个或多个空格字符)
  • (?:id|no) - idno 子串
  • \W+ - 除了单词字符(字母/数字/下划线)之外的一个或多个字符
  • (\w+) - 第 1 组:一个或多个单词字符。

关于python-3.x - 如何通过忽略字符串前面的特殊字符从文本中提取正确的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63794594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com