python - Zapier 问题中的 Python 正则表达式
问题描述
我正在尝试从销售人员那里获取一个具有换行符的字段,并在 zapier 中使用 python 步骤提取单词和标点符号。这是我的代码,但它返回和空字符串。如果有更好/更简单的方法让我知道,我对任何代码都非常陌生,并且科学怪人通过谷歌搜索将其结合在一起。
import re
string = input_data['ac']
regex = r"^[a-z,A-Z].*[?.!]$"
cleaned = re.findall(regex, string)
return [{'cleaned': cleaned}]
这是 2 张图片,原始评论和当前结果,我可以正常工作,但想通过更新代码来保留标点符号。
解决方案
下面只是通过查找一个字母然后扫描直到找到一个句子终止字符来查找句子。
import re
s = input_data['ac']
# remove multiple, consecutive carriage returns and/or newlines
s = re.sub(r'[\r\n]+', '', s)
regex = r"""(?x) # verbose flag
[A-Za-z] # a letter
[^?.!]* # one or more non-sentence-ending characters or .*? (non-greedy)
[?.!] # a sentence-ending character
"""
cleaned = re.findall(regex, s)
result = [{'cleaned': cleaned}]
#return result # only legal in a function
推荐阅读
- sql-server - 在SSIS中将excel列从General转换为Date
- awk - 合并某些列匹配的文件
- swift - 如何在 iPhone 开发中添加度数符号作为 UILabel 的一部分?
- google-apps-script - 将 Google 表格导出到云端硬盘
- swift - 使用 Audiokit 录制 MIDI
- python - 熊猫以非标准间隔重新采样
- delphi - 检查 treenode 变量是否引用了已擦除的节点
- android - 永远每20秒拍一张照片
- ruby - VPC 上的 AWS Lambda Ruby - Seahorse::Client::NetworkingError
- python - Sphinx autodoc 无法导入模块