python - Python正则表达式提取字符串
问题描述
这是我的测试语句:
在设置或运行状态下,如果液体泄漏传感器检测到液体泄漏,则血液加温器应宣布紧急状态。
我要提取:
设置或操作
注意句子中可能有两个或多个状态,只要找到第一个作为边界。
我在 regex101 中测试我的代码: https ://regex101.com/r/p18Hef/1
(in (.*) (state|mode|phase|states))
但它找不到第一个状态......
解决方案
正则表达式默认是贪婪的。您.*
一直与“状态”的下一个实例匹配,因此您需要.*
使用?
.
最终的正则表达式是:(in (.*?) (state|mode|phase|states))
.
更多信息可以在正则表达式操作中看到。
推荐阅读
- r - 安装 R v4.0.2 后 save_kable 不起作用
- c++ - 如何计算每个骨骼的起始矩阵(t-pose)(使用 collada 和 opengl)
- javascript - Flask框架,如何使用ajax刷新值
- javascript - Javascript如何对具有相同前缀的逻辑或条件进行分组而不重复它们?
- passwords - ROPC 密码无效
- python - 尝试在 python 上使用 chromedriver.exe 时收到错误消息
- java - Jsh 不断运行命令无休止
- python-3.x - Geopandas 导出更改数据类型
- json - 复制数据活动中的 ADF 合并复制 JSON 文件会为映射数据流创建错误
- r - 基本 dyplr 函数给出错误:“check_dots_used”