繁体   English   中英

正则表达式匹配字符串中的非常出现

[英]Regex to match very occurrence in string

我有一个字符串"Format: Multiple videos Length:20 mins ....Format: Video with Length: 50 mins"并希望将“格式 ...分钟”部分包含在标签中,例如

"<p>Format: Multiple videos Length:20 mins</p> ....<p>Format: Video with Length: 50 mins</p>"

我在 Coldfusion 中的正则表达式是

<cfset str= reReplace(str, "Format:(.*?)Video(.*?)mins", "<p>Format:\1Video\2mins</p>", "ALL")>

但我得到的输出为

"<p>Format: Multiple videos Length:20 mins ....Format: Video with Length: 50 mins</p>"

匹配字符串中每次出现的正确正则表达式是什么?

您可以使用

REReplaceNoCase(str, "Format:((?:(?!Format:|Video|mins).)*)Video((?:(?!Format:|mins).)*)mins", "<p>Format:\1Video\2mins</p>", "ALL")

请参阅正则表达式演示

详情

  • REReplaceNoCase - 不区分大小写的正则表达式替换功能
  • Format: - 固定字符串
  • ((?:(?!Format:|Video|mins).)*) - 第 1 组:直到第一个没有Format:Videomins子字符串的Video的任何文本
  • Video - 固定字符串
  • ((?:(?!Format:|mins).)*) - 第 2 组:前mins之前没有Format:mins子字符串的任何文本
  • mins - 固定字符串

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM