我想找到 500-599 之间的所有数字。我对正则表达式很陌生,我想到了这个:
5[0-9][0-9]+
这工作正常,匹配 566,577,500
。但它也匹配 6578
。这是我不想要的。
编辑:
这是我的文件内容:
asd 554
sad
sads
dsa
456
sa
d
dsa
asda
d500
521
519 asdasd
524 asdasdsdsadsdasd sadsadsadasdsd asdsa dsa dsadsad sad asdas dsa sad sad asds a 543
正如我尝试过的许多建议:
grep "^5[0-9]{2}$" test
根本找不到任何数字!
我如何对此施加约束?
最佳答案
如果您想仅匹配一行中的 5xx,而不是当 5xx 作为 x5xx 的一部分出现时,
^5\d{2}$
\d = Digit
^ = beginning of line
$ = end of line
编辑:
根据问题中的其他详细信息,您在行的开头有可变数量的空格,因此,您需要以下内容:
\s*5\d{2}\s
匹配 5xx 两边的空格。
关于regex - 使用正则表达式仅匹配 5xx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12296319/