当前位置: 首页 > 知识库问答 >
问题:

如何制作正则表达式以获取某个行范围内的值?

卢俊发
2023-03-14

如何使正则表达式选择整行,直到它达到一个特定的值,限制在5行以下?如果该值向下超过6行,则不应选择。

我正在进行的配置是:

Multiline
Singleline
Global

这个正则表达式一直工作到达到最终值,但如果距离开始太远,我不想选择myvalue,因为限制是5。

start.*?(myvalue here)

我使用的数据:

line 1
line 2
line 3
start
line 1
line 2
line 3
line 4 
line 5
line 6 myvalue here

在上述情况下,预期的是不选择,如果我在第5行有它,那么我可以选择。

你能告诉我如何在正则表达式中做到这一点吗?

共有1个答案

东方和惬
2023-03-14

您可以使用这个正则表达式来确保在开始和结束模式之间只有0到5个换行符:

^start(?:.*\R){0,5}.*?myvalue here

RegEx演示1

这将显示不匹配,因为此处的myvalue出现在6行之后。

如果结束模式出现在5行之后,那么将有一个匹配,您可以在RegEx演示2中看到

正则表达式详细信息:

  • 开始:在行开始处匹配开始
 类似资料:
  • 问题内容: 我有一个验证名称的简单正则表达式模式。但是当我运行它时,我得到了非法的字符范围错误。我认为通过转义“ \ s”将允许一个空格,但编译器仍在抱怨。 这是我认为不应该发生的错误,因为名称可能包含这些内容的保姆 所以我在哪里不了解? 问题答案: 您不能有范围“从到空白”。也许您打算逃避? 不是空格,而是空格(空格,制表符,回车符,换行符,垂直制表符或换页)。 会起作用的事情:

  • 问题内容: 我需要在运行时生成与一系列数值匹配的正则表达式。 例如:在运行时,我可能会发现我需要一个正则表达式,将“范围”中的所有文件都匹配到。 我需要生成一个匹配所有这些文件的正则表达式。有任何想法吗? 我在Java中需要它,因此,如果有人知道任何特定于Java的方式,这也是可以接受的。 问题答案: 正则表达式是否非常适合此任务尚待商.。大多数人可能会争论并非如此。 但是据我所知,您别无选择,因

  • 如何根据列中的数字是否在定义的范围内,将行筛选到特定的csv文件中? 我试图让和之间的任何东西输出到,但是当我运行它时什么都不会发生:

  • 是否可以按任意顺序定义嵌套的正则表达式? 以下程序按预期工作: 如果交换前两行,编译器将产生错误。 有没有办法覆盖这个限制(不使用)?

  • 问题内容: 我有以下示例字符串 我只对 test6IAmInterestedIn 感兴趣,它位于第四个斜杠之后,可以包含3个字符,多个字母并以3个数字结尾,即。 我想在上述正则表达式中添加的内容是,我总是在匹配的第四个斜杠之后选择字符串。我该怎么办? 问题答案: 你可以试试这个演示 哪里 匹配包含正斜杠的4个块 捕捉您想要的图案

  • 我正在尝试使用一个Java正则表达式来提取数据。它符合我的数据,但我无法得到组数据。我正在尝试获取数据1,xmlAggregator,268803451,3。查看文档,我假设如果在\d+和\w+周围加上(),就会得到组中的数字和字符串。对如何更改正则表达式有什么建议吗? 字符串: Java代码: 输出: 希望得到: