regex - 如何编写捕获字符串之间的字符串的正则表达式(即特定单词之间的单词)
问题描述
下面的文本字符串来自 Integromat 文本解析器。我正在尝试从用户使用内置 Integromat Regex 文本解析器填写的表单中捕获值。
例如,测试字符串的出现(不幸的是,信息没有在单独的行中出现):
Information First Name:Frank Last Name:McTester Email:mctesterxmas@rya.com
Guest Name:Debby McTester Party RegistrationNumber of Dinner Guests: 2 [http://
我需要正则表达式来提取字符串和FRANK
之间的信息,依此类推。First Name:
Last Name:
我当前的正则表达式非常适用于这些字符串在自己的行中的电子邮件。例如,如果电子邮件中的每个字符串都在其自己的行中,则此正则表达式运行良好。
First Name:\s*(.*)|Last Name:\s*(.*)|Email:\s*(.*)|Guest Name:\s*(.*)|Number of Dinner Guests:\s*(.*)
但是当一切都混在一起时,我无法弄清楚如何使用正则表达式来解析字符串。
解决方案
不要使用替代品,而是按顺序将整行与每个字段匹配。
First Name:\s*(.*?)\s+Last Name:\s*(.*?)\s+Email:\s*(.*)|Guest Name:\s*(.*?)Number of Dinner Guests:\s*(.*)
推荐阅读
- python - 使用 requirements.txt 将可编辑的工作目录安装到自定义路径
- javascript - 从外部文件导入文本而不干扰 CORS
- c++ - 多线程之间获取-释放内存顺序
- kubernetes - Kubernetes:在掌舵状态输出中打印命名空间
- c# - 如何为特定版本的 .NET 创建具有特定依赖项的 nuget 包
- python - 制作一个简单的扑克游戏
- c++ - 如何实现模板函数的容器和迭代器的重载?
- php - Wrong version of the zip extension displayed in php.ini vs pecl install
- python - Flask 对象没有属性“validate_on_submit”
- c++ - Serial port open returning EAGAIN