我试图将所有字符串与已知前缀和主要已知的后缀匹配。
前缀将是任意3个大写字符。
后缀将为一个大写C
,之后为零或一个数字。
恩。 C
或Cx
其中x
是任意数字
中间子串的长度未知,仅为大写字母。
GORABJKAC3 [match]
GORCCCCC [match]
GORBBBBCCC [match
GORBBBBCA [no match]
BORBBBBCA2 [no match]
我尝试了类似grep ^GOR[:upper:]*C[:digit:]*
的内容,但这并不起作用。
我认为[:upper:]
可能会使用全部大写字母,包括我要匹配的后缀C
。
如何使用grep将我想要的字符串与正则表达式匹配?
答案 0 :(得分:0)
答案 1 :(得分:0)
使用[A-Z]
代替[:upper:]
和[0-9]
代替[:digit:]
。
此外,*
表示0或更多,+
表示1或更多,?
表示0或1.我认为您希望使用+
和{ {1}}。
?
和+
是特殊的Perl正则表达式字符,因此请将?
标志添加到grep命令中。
最终的正则表达式:-P