常用表达?

时间:2015-01-08 08:55:38

标签: regex

我想使用正则表达式来匹配字符串:

Tue Nov 25 2014 13:27:33 .1.3.6.1.4.1.9.9.41.2.9.1 CIs-4509 supplies rated outputs do not match.

我尝试使用正则表达式:

(\S+) (\S+) *\s(\S+) (\S+) (\S+) .1.3.6.1.4.1.9.9.41.2.9.1 (\S+) (\S+) (\S+)

但只匹配

Tue Nov 25 2014 13:27:33 .1.3.6.1.4.1.9.9.41.2.9.1 CIs-4509 supplies

我想检索这些模式如下:

1.Tue
2.Nov
3.25
4.2014
5.13:27:33
6.CIs-4509
7.supplies rated outputs do not match.

如何获取其余字符串"提供额定输出不匹配。" ?

2 个答案:

答案 0 :(得分:1)

最后一组应该是

.*

.表示任何字符。通过使用星号(*),您可以说"任何字符和任何重复次数"

完整的正则表达式:

(\S+) (\S+) *\s(\S+) (\S+) (\S+) \.1\.3\.6\.1\.4\.1\.9\.9\.41\.2\.9\.1 (.*)

Regex101提供了一个很好的环境来学习正则表达式以及如何在你的字符串上结合这个正则表达式。

答案 1 :(得分:0)

[\s\S]*?\.1\.3\.6\.1\.4\.1\.9\.9\.41\.2\.9\.1[\s\S]*

你也可以尝试这个。你正在做的简短版本。

参见演示。

https://regex101.com/r/sH8aR8/25