regex - (0-9) 是 unix 中有效的正则表达式吗?

标签 regex linux unix terminal

[0-9] 表示包含一个数字。 (123) 表示包含数字123(0123456789) 表示按顺序包含所有这些数字。但是 (0-9) 不是一个有效的表达式,对吗?是否允许范围在范围内?

最佳答案

  • [0-9] 将匹配一个数字字符
  • 123 是匹配链 123
  • 的正则表达式
  • 0123456789 是匹配链 0123456789
  • 的正则表达式
  • 0-9 将按字面意思匹配字符串 0-9

现在,如果您使用括号,则您正在使用 捕获组,稍后您可以在您的正则表达式或替换字符串中引用 \1 \2 \3 等分别为第一、二、三捕获组。

您可以想象一个匹配字符串的正则表达式,如果其中使用了 2 个相同的字符:

(.).*\1

演示: https://regex101.com/r/nFwxRo/1

反向引用和捕获组有很多可能的用法,所以我相信如果您想使用正则表达式,它们是需要学习的基本概念

有关正则表达式的更多信息:

http://www.rexegg.com/regex-quickstart.html

测试你的正则表达式:

https://regex101.com/

正则表达式很酷,但乍一看可能有点困难!祝你好运

关于regex - (0-9) 是 unix 中有效的正则表达式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48698292/

相关文章:

Ruby 相当于 grep -v

黎巴嫩电话号码的 PHP 正则表达式

linux - 当别名被变量调用时如何调用别名

node.js - 如何更新 node-gyp 和/或解释 "node-gyp rebuild 2> builderror.log)"?

archive - 为什么 TAR 文件比其内容小?

javascript - 为什么 JS 方法 replace() 在最新版本的 Safari 中工作不正常?

php - 匹配字符串格式 "1,22,3,44"的正则表达式

linux - 我如何 grep 整个代码行,可能是包装的代码行?

java - 在Linux服务器上哪里可以找到 "full path to java binary"?

c++ - 在其处理程序中捕获信号的最佳方法