正则表达式:数字开头中间字母结尾数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式:数字开头中间字母结尾数字相关的知识,希望对你有一定的参考价值。

linux下。要对目录下的所有文件进行查找,以数字开始,中间为字母,并且以数字结尾
这样写不对吗?
grep -E "^[0-9]+[a-z]+[0-9]$" . -R -n

新人求教

1、linux使用正则表达式命令,搜索以某个字串打头的行。命令如下:# grep -n '^word' filename表示带行号输出所有以word打头的该行内容,其中[^word]为关键字。

2、搜索一某个字串结尾的行。命令如下:# grep -n 'word$' filename表示带行号输出所有以word结尾的该行内容,其中[word$]为关键字。

3、匹配任意一个字符。如下:# grep -n 't.e' filename表示显示含有字符 tae,tbe...等字串的行,但不能是 te ,因为' . '点号代表一个任意字符。关键字 [ . ]。

4、匹配0个或多个前面一个字符。示例如下:# grep -n 'cho*' filename表示将寻找 ch,cho,..,符号’*'代表将重复字符o零次或多次。关键字[ *]。

5、取反操作,如下:# grep -n '[^s]he' filename表示将不搜索she字串,其他的ahe,bhe... 则可以。关键字 ( [ ^ ])。注:'^'符号在 [ ]内表示取反操作。

参考技术A 如果你的结尾数字是多个也可以的话,你就要再加上一个+号,另外,中间的字母允许大写么?允许的话要再加上A-Z,所以你可以改这样试试:
"^[0-9]+[a-zA-Z]+[0-9]+$"追问

mi@ubuntu:~/test$ cat test.txthe is a rat
he is in a rut
the food is Rotten
I like root beer
whe is in a rut
1256313asas11
12312213
546aaaaa
111

habchhabc
hhhabcd
hhhhhh
现在我要得到1256313asas11行,
mi@ubuntu:~/test$ cat test.txt | grep -E "^[0-9]+[a-z]+[0-9]+]$"
这么写不对吗?

追答

你多打了一个]号了:
[seesea@UC flight]$ cat test.txt | grep -E "^[0-9]+[a-z]+[0-9]+]$"
[seesea@UC flight]$ cat test.txt | grep -E "^[0-9]+[a-z]+[0-9]+$"
1256313asas11

本回答被提问者采纳

求一个正则表达式: 以英文字母开头,只能包含英文字母、数字、下划线

^[a-zA-Z][a-zA-Z0-9_]*$

拓展:

1.正则表达式:

又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

2.简介:

正则表达式是对字符操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。

3.来源:

正则表达式可一直追溯到科学家对人类神经系统工作原理的早期研究。

4.含义:

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

参考技术A ^[a-zA-Z][a-zA-Z0-9_]*$本回答被提问者采纳 参考技术B ^[a-zA-Z][a-zA-Z0-9_]*$ 这个可以。

参考资料:http://www.zhongguosou.com/blog/post/579.html

以上是关于正则表达式:数字开头中间字母结尾数字的主要内容,如果未能解决你的问题,请参考以下文章

密码的正则表达式 = 一个数字以及大小写字母和特殊字符但是!开头或结尾没有特殊字符

求一个正则表达式: 以英文字母开头,只能包含英文字母、数字、下划线

求js验证字母数字的正则表达式,且是字母开头的

正则表达式

将字母和数字匹配在一起或仅匹配字母的正则表达式

正则表达式