正则表达式,只选择时间

时间:2018-02-02 09:47:21

标签: regex

我需要删除前两行数字并仅保留文本。如何使用正则表达式选择?以下是更长文本的简短示例:

112
00:04:04,349 --> 00:04:09,000
should give over to the community which

113
00:04:06,989 --> 00:04:11,159
which I'm also a little bit more

114
00:04:09,000 --> 00:04:13,169
skeptical camp I think that there's at

我尝试了很多东西,但我正在学习正则表达式,我很遗憾。例如:

[\d:>\s-]*\n

3 个答案:

答案 0 :(得分:1)

您可以尝试通过正则表达式替换删除两个数字行:

^\d+$
^\d{2}:\d{2}:\d{2},\d{3}.*$

然后用空字符串替换上面两个模式。我没有看到纯正的正则表达式会如何实际更新您的文件。

答案 1 :(得分:1)

逻辑

如果字符串ONLY在行的开头和结尾之间多次出现\d:>\s,则匹配并用空字符串替换它们< / p>

使用此正则表达式将每个匹配替换为空字符串:

^[\d:,> -]+$

<强> Click for Demo

或者你可以使用,

^[^a-zA-Z]+$

<强> Click for Demo

<强>解释

  • ^ - 断言行的开头
  • [\d:,> -]+ - 匹配1位以上的数字或:>:或空格
  • $ - 断言行尾

答案 2 :(得分:1)

如果您只想匹配第一行中的数字并匹配下一行,您可以尝试:

^\d+\r?\n.*$

<强>解释

  • 匹配一个或多个digites jquery-ui.css:248 .ui-datepicker .ui-datepicker-next { right: 2px; } jquery-ui.css:235 .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position: absolute; top: 2px; /* width: 1.8em; */ /* height: 1.8em; */ }*
  • 匹配可选的回车符和换行符\d+
  • 匹配任何字符零次或多次\r?\n
  • 字符串.*
  • 的结尾

然后你可以使用replace替换为空字符串。