正则表达式以查找多行字符串,其中包括行之间的另一个字符串

更多z890

我的第一个问题

我有一个日志文件,其中包含多个与命中类似的字符串:

Region: AR
OnlineID: Atl_Tuc
---Start---
FIFA 18 Legacy Edition
---END---

Region: FR
OnlineID: jubtrrzz
---Start---
FIFA 19
Undertale
Pro Evolution Soccer™ 2018
---END---

Region: US
OnlineID: Cu128yi
---Start---
KINGDOM HEARTS HD 1.5 +2.5 ReMIX
---END---

Region: RO
OnlineID: Se116
---Start---
Real Farm
EA SPORTS™ FIFA 20
LittleBigPlanet™ 3
---END---

Region: US
OnlineID: CAJ5Y
---Start---
Madden NFL 18: G.O.A.T. Super Bowl Edition
---END---

我想查找所有包含FIFA(FIFA作为字符串)的匹配。以国际足联为例,我需要查找包含某些字符串的所有匹配。

我能找到的最后一件事是这个正则表达式: (?s)(?=^\r\n)(.*?)(fifa)(.*?)(?=\r\n\r\n)

但是,当我用这个,它选择所有的命中包括国际足联没有命中,直到找到一击国际足联,所以有时选择1次多打这样的

第二个问题是我不能.*在(fifa)bcz中使用它会导致选择错误。

我现在能做什么?

正确的输出应如下所示:

Region: AR
OnlineID: Atl_Tuc
---Start---
FIFA 18 Legacy Edition
---END---

Region: FR
OnlineID: jubtrrzz
---Start---
FIFA 19
Undertale
Pro Evolution Soccer™ 2018
---END---

Region: RO
OnlineID: Se116
---Start---
Real Farm
EA SPORTS™ FIFA 20
LittleBigPlanet™ 3
---END---
维克多·史翠比维

您可以使用

(?si)(?:^(?<!.)|\R{2})\K(?:(?!\R{2}).)*?\bfifa\b.*?(?=\R{2}|\z)

正则表达式演示

细节

  • (?si)-s使.匹配换行符chara(与.match newline ON相同)和不区分大小写的match ON
  • (?:^(?<!.)|\R{2}) -匹配文件的开头或两个换行序列
  • \K -省略匹配的换行符
  • (?:(?!\R{2}).)*? -任何字符,出现0次或多次,但尽可能少,不启动双行换行序列
  • \bfifa\b -整个词 fifa
  • .*? -最少0个字符
  • (?=\R{2}|\z) -最多双倍换行符或文件结尾。

现在,如果您想将某段与匹配fifa,然后20在其某些行上进行匹配,请使用

(?si)(?:^(?<!.)|\R{2})\K(?:(?!\R{2}).)*?(?-s:\bfifa\b.*\b20\b).*?(?=\R{2}|\z)

(?-s:\bfifa\b.*\b20\b)是,其中调节基团.停止匹配换行符,它整个单词匹配fifa,则比换行符字符等,尽可能多的,然后任何0+字符20作为一个整体词。

请参阅此正则表达式演示

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式以查找多行字符串,其中包括行之间的另一个字符串

来自分类Dev

检查一个字符串是否包含另一个字符串的全部或3个连续字符?正则表达式python不区分大小写

来自分类Dev

在两个字符串(包括第一个字符串)之间匹配的正则表达式

来自分类Dev

正则表达式匹配不包括第一个字符的字符串

来自分类Dev

使用NSPredicate或正则表达式检查一个大字符串是否包含另一个字符串

来自分类Dev

正则表达式多个元素一个字符串

来自分类Dev

仅当行不包含另一个字符串时,正则表达式才匹配一个字符串

来自分类Dev

正则表达式在两个字符串之间获取一个字符串

来自分类Dev

正则表达式:仅在字符串中找到另一个字符时才允许使用该字符

来自分类Dev

正则表达式以匹配2个字符串并包含另一个字符串

来自分类Dev

正则表达式从一个字符串到另一个字符串

来自分类Dev

正则表达式向后查找字符串和另一个字符串的首次出现之间的所有文本

来自分类Dev

正则表达式以匹配多个字符串之一,然后是另一个字符串

来自分类Dev

创建正则表达式以仅在包含一个字符串而排除另一个字符串的情况下查找整个单词

来自分类Dev

查找一些字符串并使用notepad ++正则表达式替换另一个字符串

来自分类Dev

正则表达式在两个字符串之间获取一个字符串

来自分类Dev

正则表达式:仅在字符串中找到另一个字符时才允许使用该字符

来自分类Dev

两个可能包含另一个字符串的字符串之间的正则表达式匹配

来自分类Dev

正则表达式-查找行中的字符串,但替换同一行中的另一个字符串

来自分类Dev

一个正则表达式,用于搜索包含一个字符串但不包含另一个字符串的行

来自分类Dev

Bash-查找正则表达式并将其替换为另一个字符串

来自分类Dev

正则表达式捕获字符串,直到遇到另一个字符串

来自分类Dev

正则表达式匹配另一个字符串之后出现的字符串

来自分类Dev

在另一个字符串中查找 JSON 字符串的正则表达式

来自分类Dev

如何使用正则表达式从另一个字符串的开头删除多个字符串

来自分类Dev

使用正则表达式和 C# 识别另一个字符串中不存在的字符串

来自分类Dev

PHP 中的正则表达式:从另一个字符串中检索特定字符串

来自分类Dev

正则表达式字符串拆分优先考虑一个字符而不是另一个

来自分类Dev

正则表达式匹配行与字符串 AND 没有另一个字符串

Related 相关文章

  1. 1

    正则表达式以查找多行字符串,其中包括行之间的另一个字符串

  2. 2

    检查一个字符串是否包含另一个字符串的全部或3个连续字符?正则表达式python不区分大小写

  3. 3

    在两个字符串(包括第一个字符串)之间匹配的正则表达式

  4. 4

    正则表达式匹配不包括第一个字符的字符串

  5. 5

    使用NSPredicate或正则表达式检查一个大字符串是否包含另一个字符串

  6. 6

    正则表达式多个元素一个字符串

  7. 7

    仅当行不包含另一个字符串时,正则表达式才匹配一个字符串

  8. 8

    正则表达式在两个字符串之间获取一个字符串

  9. 9

    正则表达式:仅在字符串中找到另一个字符时才允许使用该字符

  10. 10

    正则表达式以匹配2个字符串并包含另一个字符串

  11. 11

    正则表达式从一个字符串到另一个字符串

  12. 12

    正则表达式向后查找字符串和另一个字符串的首次出现之间的所有文本

  13. 13

    正则表达式以匹配多个字符串之一,然后是另一个字符串

  14. 14

    创建正则表达式以仅在包含一个字符串而排除另一个字符串的情况下查找整个单词

  15. 15

    查找一些字符串并使用notepad ++正则表达式替换另一个字符串

  16. 16

    正则表达式在两个字符串之间获取一个字符串

  17. 17

    正则表达式:仅在字符串中找到另一个字符时才允许使用该字符

  18. 18

    两个可能包含另一个字符串的字符串之间的正则表达式匹配

  19. 19

    正则表达式-查找行中的字符串,但替换同一行中的另一个字符串

  20. 20

    一个正则表达式,用于搜索包含一个字符串但不包含另一个字符串的行

  21. 21

    Bash-查找正则表达式并将其替换为另一个字符串

  22. 22

    正则表达式捕获字符串,直到遇到另一个字符串

  23. 23

    正则表达式匹配另一个字符串之后出现的字符串

  24. 24

    在另一个字符串中查找 JSON 字符串的正则表达式

  25. 25

    如何使用正则表达式从另一个字符串的开头删除多个字符串

  26. 26

    使用正则表达式和 C# 识别另一个字符串中不存在的字符串

  27. 27

    PHP 中的正则表达式:从另一个字符串中检索特定字符串

  28. 28

    正则表达式字符串拆分优先考虑一个字符而不是另一个

  29. 29

    正则表达式匹配行与字符串 AND 没有另一个字符串

热门标签

归档