[英]What regex will match either 2 digits, or 3 digits starting with 0?
[英]Regex, how to match lines starting with non digits
我是正则表达式的初学者。 当我尝试在此测试文件中以非数字字符开头的 select 行时,
1 2012-01-01 12:00:00
2 2013-01-01 13:00:00
3 2012asdas
4 asdasasad
我尝试了/^\D
并得到了我想要的:
1 2012-01-01 12:00:00
2 2013-01-01 13:00:00
3 2012asdas
4 **a**sdasasad
然后,我很好奇我是否可以用/^[^\d]
做同样的工作,但它只是匹配所有的行:
1 **2**012-01-01 12:00:00
2 **2**013-01-01 13:00:00
3 **2**012asdas
4 **a**sdasasad
然后我尝试了/^[^\w]
并得到了相同的结果。 因此,我在想正则表达式的哪一部分是错误的。 这个问题可能是微不足道的,但感谢任何反馈。
这是一个解释:
\d
匹配 1 个数字\D
匹配任何不是数字的东西\d+
匹配多个数字[\d]
匹配括号中的所有数字字符[^\d]
匹配所有不在括号中的字符,所以没有数字[\D]
产品与上述结果相同^
匹配行首所以^\D+
将匹配以非数字开头的行
你应该在这里尝试这个非常强大的正则表达式测试器: https://regex101.com/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.