如何使用正则表达式捕获多个模式?

PUser

我有几个文本文件,其中包含错误值。每个文件中的值都不同,因此我无法获得该值所在的确切行。

示例如下:

v1 = 1111
v2 = A:10 B:2

文本:

12.10.08,11:12:39,183769  1111,10352,003,12,11:12:39,183 Syntax-->12345

(想捕获v1)

01.01.02,06:10:56,243648  00488,00000,018,01,06:10:56,243 A:10 B:2--1212 (would like to capture v2)

正则表达式如下:

((\d{2}[.]\d{2}[.]\d{2}),(\d{2}[:]\d{2}[:]\d{2},\d*\s*(('+v1+')[,].*|\S*\s('+v2+')).*))

不管传递的值是什么,它都应该遍历文本并获取值。如果存在v1,则应提供完整的文本,如果存在v2,则应提供完整的文本。但是带有一个正则表达式方程式。

第四只鸟

您可以使用:

\d{2}\.\d{2}\.\d{2},\d{2}:\d{2}:\d{2},\d{6}(?: \d{5}(?:,\d+)+:\d{2}:\d{2},\d+)? (\d{4}\b|[A-Z]:\d{2} [A-Z]:\d)

说明

  • \d{2}\.\d{2}\.\d{2},\d{2}:\d{2}:\d{2},\d{6} 匹配起始数字的格式
  • (?: \d{5}(?:,\d+)+:\d{2}:\d{2},\d+)? (可选)匹配以5位数开头的部分,直到格式类似的时间为止
  • ( 捕获组
    • \d{4}\b 匹配4位数字
    • | 要么
    • [A-Z]:\d{2} [A-Z]:\d匹配A:10 B:格式
  • ) 封闭组

正则表达式演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何捕获正则表达式模式周围的单词?

正则表达式使用SQL捕获模式

多个正则表达式模式

如何在Java中使用正则表达式捕获多行模式?

如何在C ++中使用正则表达式标记化来捕获重复模式

使用多个条件编写正则表达式模式

如何使用正则表达式一次捕获字符串的多个部分?

如何使用多个捕获组进行正则表达式替换?

如何使用正则表达式捕获多个未知数量的值

如何使用正则表达式捕获“多个”重复组

如何在此特定文本上使用正则表达式捕获多个单词?

正则表达式:多个捕获中的多个捕获

如何使用正则表达式捕获可选的星号?

如何使用正则表达式Javascript捕获组?

Python正则表达式-如何从通配符表达式捕获多个组?

如何在Pyspark中使用Rlike使用多个正则表达式模式

如何使用正则表达式设置多个条件来检测熊猫中的模式

如何在python中使用正则表达式在多个句子的段落中搜索模式?

如何使用单个正则表达式模式定位多个字符串

如何使用正则表达式排除某些模式

如何使用正则表达式替换模式?

如何使用 sed 正则表达式模式匹配

如何转换使用Lookahead的正则表达式模式?

如何使用正则表达式递归匹配模式?

如何使用正则表达式匹配此模式

如何使用 OR 条件创建正则表达式模式

如何使用正则表达式模式替换+91?

如何使用正则表达式查找特定模式?

使用OR的正则表达式模式