python - 正则表达式仅在同一行中匹配
问题描述
我试图在 Python 中使用正则表达式解决的文本示例如下
看着傍晚的天空真是太棒了,天空的颜色
是
蓝色
天空的颜色是蓝色的
我试图在颜色之前找到最多 3 个单词,但是如果它们仅在同一行中,我想提取它们
突出显示的是我正在寻找的输出
看着傍晚的天空真是太棒了,天空的颜色
是蓝色的天空
颜色是蓝色的
我正在使用的代码是
((?:\S+\s+){0,4}\b(?=color)\b\s*)
示例如下
https://regex101.com/r/Q61Hi7/1
这可能是一个重复的问题,但是我找不到任何可以解决的答案
解决方案
不要使用\s
匹配任何空格,而是使用文字空间来匹配空格。\t
如果您也想包含它,您可以添加。
((?:\S+ ){0,4}\b(?=color)\b\s*)
推荐阅读
- php - 如何使用 PHP 解析 Google Fit Json 字符串
- c# - 缺少小数分隔符
- android - GetCurrent 用户仅从 Firebase Google 应用返回登录用户
- google-cloud-platform - Google Cloud 的本地数据传输服务
- php - 我可以在 PHP 中使用 random_bytes(3) 生成多少个随机字符串?
- python - 使用python从网站的多个页面中抓取数据
- angular - 将 ag 网格表转换为 PDF 文件
- android - 如何用一个弯曲端画一条线
- oracle - 如何在 HIVE 中使用 INSTR?
- c# - 活动目录远程访问