([0-9]+T)|([0-9]+) 这个正则表达式是什么意思?

时间:2021-03-25 05:50:46
如题。 + 和T都是什么意思?什么样的字符串符合这个表达式?


15 个解决方案

#1


12242T   或者 141234

看着是总量验证

#2


引用 1 楼 wanghui0380 的回复:
12242T 或者 141234

看着是总量验证

+    还有T  分别是什么意思?

#3


引用 1 楼 wanghui0380 的回复:
12242T   或者 141234

看着是总量验证
就是这个意思

#4


引用 1 楼 wanghui0380 的回复:
12242T 或者 141234

估计是重量吧

#5


+代表出现1到多次

([0-9]+T)|([0-9]+)
匹配下面红色部分
021Tsdwewqrfeqwg 353465T

就是匹配数字加T的字符串 如 1T 10T等不包括小写

但是这里也不是必然的,如果只有数字也是可以匹配的 

asdasd123
可以匹配 123

#6


+ 重复一次或多次
T 就是字母T 没别的意思

#7


([0-9]+T)|([0-9]+)
|表示逻辑或,选择关系
多个数字后面跟个T或是多个数字后面没有T。

这种正则写的比较烂,软件设计师教材中也描述了正则规则的合并。很有必要了解一下。
\d+T?
和你这个就是等效的了。

#8


引用 5 楼 luqc1985 的回复:
+代表出现1到多次

([0-9]+T)|([0-9]+)
匹配下面红色部分
021Tsdwewqrfeqwg353465T

就是匹配数字加T的字符串 如 1T 10T等不包括小写

但是这里也不是必然的,如果只有数字也是可以匹配的 

asdasd123
可以匹配 123



如果要求 一个字符串中最后的N(N>=2)个都是数字。字符串中也有可能有数字。这个要怎么匹配?
比如说  AB123ABC1345DCP12345 我只要DCP后面的数字。只有DCP是不变的其他都是可变的。这个要怎么写?

#9


引用 7 楼 wuyazhe 的回复:
([0-9]+T)|([0-9]+)
|表示逻辑或,选择关系
多个数字后面跟个T或是多个数字后面没有T。

这种正则写的比较烂,软件设计师教材中也描述了正则规则的合并。很有必要了解一下。
\d+T?
和你这个就是等效的了。

如果要求 一个字符串中最后的N(N>=2)个都是数字。字符串中也有可能有数字。这个要怎么匹配?
比如说 AB123ABC1345DCP12345 我只要DCP后面的数字。只有DCP是不变的其他都是可变的。这个要怎么写?

#10


string result = Regex.Match("AB123ABC1345DCP12345",@"(?<=DCP)(?:[2-9]|[1-9]\d+)").Value;


result就是你要的结果。在DCP后面的>=2的数字。

#11


引用 10 楼 wuyazhe 的回复:
C# code
string result = Regex.Match("AB123ABC1345DCP12345",@"(?<=DCP)(?:[2-9]|[1-9]\d+)").Value;


result就是你要的结果。在DCP后面的>=2的数字。


如果我把DCP后面换成00001就不行了,这个要怎么改呢?原谅我是个正则白痴吧

#12


try

(?<=DCP)\d{2,}

#13


引用 11 楼 q333111555 的回复:
引用 10 楼 wuyazhe 的回复:
C# code
string result = Regex.Match("AB123ABC1345DCP12345",@"(?<=DCP)(?:[2-9]|[1-9]\d+)").Value;


result就是你要的结果。在DCP后面的>=2的数字。


如果我把DCP后面换成00001就不行了,这个要怎么改呢?原谅我是个正则白痴吧


00001<2,你要大于2的。

#14


er...
要位数>2,看成数字大于2了

那12楼的正好

#15


都是人才啊!

#1


12242T   或者 141234

看着是总量验证

#2


引用 1 楼 wanghui0380 的回复:
12242T 或者 141234

看着是总量验证

+    还有T  分别是什么意思?

#3


引用 1 楼 wanghui0380 的回复:
12242T   或者 141234

看着是总量验证
就是这个意思

#4


引用 1 楼 wanghui0380 的回复:
12242T 或者 141234

估计是重量吧

#5


+代表出现1到多次

([0-9]+T)|([0-9]+)
匹配下面红色部分
021Tsdwewqrfeqwg 353465T

就是匹配数字加T的字符串 如 1T 10T等不包括小写

但是这里也不是必然的,如果只有数字也是可以匹配的 

asdasd123
可以匹配 123

#6


+ 重复一次或多次
T 就是字母T 没别的意思

#7


([0-9]+T)|([0-9]+)
|表示逻辑或,选择关系
多个数字后面跟个T或是多个数字后面没有T。

这种正则写的比较烂,软件设计师教材中也描述了正则规则的合并。很有必要了解一下。
\d+T?
和你这个就是等效的了。

#8


引用 5 楼 luqc1985 的回复:
+代表出现1到多次

([0-9]+T)|([0-9]+)
匹配下面红色部分
021Tsdwewqrfeqwg353465T

就是匹配数字加T的字符串 如 1T 10T等不包括小写

但是这里也不是必然的,如果只有数字也是可以匹配的 

asdasd123
可以匹配 123



如果要求 一个字符串中最后的N(N>=2)个都是数字。字符串中也有可能有数字。这个要怎么匹配?
比如说  AB123ABC1345DCP12345 我只要DCP后面的数字。只有DCP是不变的其他都是可变的。这个要怎么写?

#9


引用 7 楼 wuyazhe 的回复:
([0-9]+T)|([0-9]+)
|表示逻辑或,选择关系
多个数字后面跟个T或是多个数字后面没有T。

这种正则写的比较烂,软件设计师教材中也描述了正则规则的合并。很有必要了解一下。
\d+T?
和你这个就是等效的了。

如果要求 一个字符串中最后的N(N>=2)个都是数字。字符串中也有可能有数字。这个要怎么匹配?
比如说 AB123ABC1345DCP12345 我只要DCP后面的数字。只有DCP是不变的其他都是可变的。这个要怎么写?

#10


string result = Regex.Match("AB123ABC1345DCP12345",@"(?<=DCP)(?:[2-9]|[1-9]\d+)").Value;


result就是你要的结果。在DCP后面的>=2的数字。

#11


引用 10 楼 wuyazhe 的回复:
C# code
string result = Regex.Match("AB123ABC1345DCP12345",@"(?<=DCP)(?:[2-9]|[1-9]\d+)").Value;


result就是你要的结果。在DCP后面的>=2的数字。


如果我把DCP后面换成00001就不行了,这个要怎么改呢?原谅我是个正则白痴吧

#12


try

(?<=DCP)\d{2,}

#13


引用 11 楼 q333111555 的回复:
引用 10 楼 wuyazhe 的回复:
C# code
string result = Regex.Match("AB123ABC1345DCP12345",@"(?<=DCP)(?:[2-9]|[1-9]\d+)").Value;


result就是你要的结果。在DCP后面的>=2的数字。


如果我把DCP后面换成00001就不行了,这个要怎么改呢?原谅我是个正则白痴吧


00001<2,你要大于2的。

#14


er...
要位数>2,看成数字大于2了

那12楼的正好

#15


都是人才啊!