正则表达式怎么完全匹配类似'A00A'?

4位字符的范围如下:第一位字符范围:[a-z][A-Z]第二位字符范围:[0-9][a-z][A-Z]第三位字符范围:[0-9][a-z][A-Z]第四位字符范围:[0-... 4位字符的范围如下:
第一位字符范围:[a-z] [A-Z]
第二位字符范围:[0-9] [a-z] [A-Z]
第三位字符范围:[0-9] [a-z] [A-Z]
第四位字符范围:[0-9] [a-z] [A-Z]

测试数据:
Save('Hello', 'Robf', 1,"ABCD",‘2048’,1234,'#A00',"感谢您的回答,祝您生活美满幸福")
结果需求:
Robf
展开
 我来答
百度网友f6630ec58
推荐于2018-04-11 · TA获得超过368个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:239万
展开全部

很高兴回答你的问题,有什么不正确的地方,请指正。

第1位是:

[a-zA-Z]

第2至第4位是:

[0-9a-zA-Z]{3}

正则中,\b或\<\>为定界符,但是有些命令并不支持。

如:

推荐使用perl,它对正则元字符是完全支持的。

但是这样的结果将匹配“Save”,“Robf”,“ABCD”

分析三者不同,结合题目,只匹配单引号。


使用零宽断言,答案为:

(?<=')[a-zA-Z][0-9a-zA-Z]{3}(?=')
#此处并没有对单引号进行转义,如果放在脚本中,需要进行转义。
(?<='\'')[a-zA-Z][0-9a-zA-Z]{3}(?='\'')


注释:

(?<=xxxx)    #放在匹配的左边
(?=xxxx)    #放在匹配的右边

Linux grep结果显示:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式