Regex 利用具有多个条件的grep正则表达式
因此,我试图想出一个代码来检查Regex 利用具有多个条件的grep正则表达式,regex,unix,Regex,Unix,因此,我试图想出一个代码来检查 如果字符串在句首有重复字符,以及 aa….,bb 如果字符串以重复字符结尾 …aa…bb 我正在尝试组合这两个条件,并查看文本文件中的任何字符串是否与条件匹配 到目前为止,我已经学会了如何使用egrep 有了它,我可以完成算法的第一部分 egrep '^(.)\1{1}' *.txt 但是当我试着把它和第二部分结合起来 egrep '^(.)\1{1}|(.)\1{1}$' *.txt 第二部分被忽略,结果与之前相同 如何将多个模式组合到正则表达式中?在备选方
egrep '^(.)\1{1}' *.txt
但是当我试着把它和第二部分结合起来
egrep '^(.)\1{1}|(.)\1{1}$' *.txt
第二部分被忽略,结果与之前相同
如何将多个模式组合到正则表达式中?在备选方案中,您必须参考第二部分中的组2,因为您有两个捕获组 注意,您可以省略
{1}
量词
^(.)\1|(.)\2$
见
您的代码可能如下所示:
egrep '^(.)\1|(.)\2$' *.txt
要在开头和结尾同时匹配重复字符,可以使用:
^(.)\1.*(.)\2$
是否有办法只输出同时满足条件1和条件2的字符串?egrep'^(.)\1 |(.)\2$'*.txt将输出满足条件1或2的结果。@VAnon在这种情况下,您可以使用
^(.)\1.*\2$