Ruby 正则表达式:一个特定的情况不匹配

Ruby 正则表达式:一个特定的情况不匹配,ruby,regex,Ruby,Regex,我试图从动态html代码中清除短代码 以下是迄今为止的ruby正则表达式:/(?:\[\/?)[^\/\]+\/?\]/ 它适用于所有这样关闭的代码: [vc_column]...[/vc_column] 但不包括: [vc_video link='https://vimeo.com/abc' align='center'] # In this case there is no [/vc_video] 下面是一个与rubular的永久链接:与vc\U视频内部不匹配 有什么想法吗?谢谢。解决方

我试图从动态html代码中清除短代码

以下是迄今为止的ruby正则表达式:
/(?:\[\/?)[^\/\]+\/?\]/

它适用于所有这样关闭的代码:

[vc_column]...[/vc_column]
但不包括:

[vc_video link='https://vimeo.com/abc' align='center']
# In this case there is no [/vc_video]
下面是一个与rubular的永久链接:与
vc\U视频
内部不匹配


有什么想法吗?谢谢。

解决方案是这个正则表达式:

\[(.*?)\]

提示:您的视频短码不匹配不是因为没有结束符,而是因为url中有斜杠。提示:比:)@SergioTulentsev好得多谢谢,但如何修复它才能工作?“如何修复”-修改您的正则表达式,以便允许在标记中的任何位置使用斜杠。也许这会打破一些其他的用例。¯\_(ツ)_/''我建议对此进行广泛的单元测试,以便您在引入回归时能够立即检测。您的问题根本不清楚。您的输入是什么,期望的输出是什么?Regex只是一个对象。除非您使用某种方法,否则它不会做任何事情。