java - 正则表达式匹配帮助

标签 java regex

这是输入字符串:

#video:firstVideo.mp4#
#video:secondVideo.mp4 title:Title of second Video#
#video:thirdVideo.mp4#

我想匹配以上所有行(title: 属性是可选)。但是,下面的 Java RegEx 将仅匹配第二行。

(?<=#)video:(.*?).mp4\stitle:(.*?)(?=#)

如何更正此正则表达式以使 title: 属性可选 并返回所有三行?我会投票给任何有可行/高效答案的人!

最佳答案

试试这个:

    (?<=#)video:(.*?).mp4(\stitle:(.*?))?(?=#)

或者只是:

    #video:(.*?).mp4(?:\stitle:.*?)?#

参见rubular .

这取决于您希望在匹配组中包含哪些内容。

关于java - 正则表达式匹配帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7326308/

相关文章:

JavaFX 组合框,单击的项目

Java Swing 布局未出现

python - 用空格填充多个字符 - python

python - 如何删除Python中两个特定单词之间的文本

java - 从数据库中检索时间戳记录

java - 解析 JUnit 测试中的 Spring @Value 表达式

Java - 多次调用自定义 JDialog 处理方法 - 它不打算这样做

javascript - JavaScript 中的递归正则表达式模式

regex - 将固定长度 block 与可变长度元素匹配的正则表达式

Java TextField 问题