首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与bash中4个字符串的逗号分隔列表相匹配的Regex。

与bash中4个字符串的逗号分隔列表相匹配的Regex。
EN

Stack Overflow用户
提问于 2022-04-01 20:39:54
回答 3查看 236关注 0票数 0

我试图在bash中编写regex函数,其中列表中的第一件和第三件事是相同的,列表中的第二件和第四件事是一样的。

代码语言:javascript
复制
grep -E "^(([0-9a-zA-Z][0-9a-zA-Z_]*)([,][0-9a-zA-Z][0-9a-zA-Z_]*)*)$" 

这是我现在的正则表达式。我不知道如何检查第一和第三,第二和第四是否相同。例如,a,b,a,b匹配,但a,b,b,b不匹配。

EN

回答 3

Stack Overflow用户

发布于 2022-04-01 20:44:18

使用awk是非常简单的。

代码语言:javascript
复制
awk -F, '$1 == $3 && $2 == $4'
票数 2
EN

Stack Overflow用户

发布于 2022-04-01 20:48:03

使用反向引用检查一个部件是否与以前捕获的字符串匹配。

代码语言:javascript
复制
grep -E -i "^([0-9a-z][0-9a-z_]*),([0-9a-z][0-9a-z_]*),\1,\2$" 
票数 1
EN

Stack Overflow用户

发布于 2022-04-28 16:42:24

问题中没有任何东西限制为字母数字。使用这个grep命令和正则表达式:

grep -E "([^,]*),([^,]*),\1,\2"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71712543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档