regex - 正则表达式从空格分隔列表中获取第三个元素
问题描述
我需要帮助来创建正则表达式以从列表中获取第三个元素,例如
phrase1 phrase2 phrase3
phrase4 phrase5 phrase6
所以结果应该是
phrase3
phrase6
什么是正则表达式?
解决方案
如果您想从字符串中删除其他项目并保留第 3 个项目,请使用Tim Biegeleisen 答案
如果您想匹配字符串中的第 3 项,那么此答案将对您有所帮助
您可以使用此正则表达式:
^(?:(?:[^\s]+ ){2})([^\s]+)
带有g
和m
标志
解释:
用词:
从每行的开头开始“跳过” 2 个项目(项目是其中没有空格的任何字符串)并匹配第 3 个项目。
空白是空格、制表符或换行符
在正则表达式中:
让我们把它分成几部分:
^
: 行首(因为我们使用了m
标志[^\s]+
: 匹配蚂蚁字符不是空白字符(空格、制表符、换行符)。(?:...)
: 匹配但不包含在匹配结果中{2}
需要 2 项((?:[^\s]+ )
正则表达式)
笔记:
即使有更多项目,这也将匹配第三个项目:
例如,它将匹配phrase3
和phrase7
From:
phrase1 phrase2 phrase3 phrase4
phrase5 phrase6 phrase7
phrase8
推荐阅读
- android - 以最少的点击激活 GPS 传感器和权限
- api - 雪花外部功能 API 集成是否可以从服务器完整架构调用 API 端点?
- vue.js - [Vue 警告]:向组件传递了无关的非发射事件侦听器
- html - HTML 文件已从 VS Code 项目文件夹中消失
- python - 如何使用自定义函数过滤查询集
- prometheus - 了解用于内存空闲的普罗米修斯查询(节点导出器)
- javascript - onclick 显示/隐藏下一个表格行
- wordpress - WordPress 容器上的网关超时
- python - BeautifulSoup 抓取不正确的表
- c# - c#文本框:将数字转换为字符