正则表达式嵌套简码不起作用
Regex Nested Shortcode Does Not Work
有人能告诉我为什么这不起作用吗? - https://regex101.com/r/hJ5zN6/11
测试字符串:
[test][dzspgb_container][dzspgb_row][dzspgb_row_part part="1.4"][dzspgb_element text="whwaha" type_element="text"][/dzspgb_element][dzspgb_element text="test" type_element="text"][/dzspgb_element][/dzspgb_row_part][dzspgb_row_part part="1.4"][/dzspgb_row_part][dzspgb_row_part part="1.4"][/dzspgb_row_part][dzspgb_row_part part="1.4"][/dzspgb_row_part][/dzspgb_row][dzspgb_container]test second[/dzspgb_container][/dzspgb_container][/thisbreaks]
测试正则表达式:
*\[dzspgb_container(.*?)](.*?)\[\/dzspgb_container\](?!\s*\[\/)*
如果我们从字符串中删除 [/thisbreaks]
,它将起作用。
这是因为最后的否定前瞻断言。我建议您删除前瞻并使用如下所示的贪婪正则表达式模式。
\[dzspgb_container(.*?)](.*)\[\/dzspgb_container\]
(?!\s*\[\/)
断言匹配后不会跟随(零个或多个 space 个字符和一个 [
符号)
有人能告诉我为什么这不起作用吗? - https://regex101.com/r/hJ5zN6/11
测试字符串:
[test][dzspgb_container][dzspgb_row][dzspgb_row_part part="1.4"][dzspgb_element text="whwaha" type_element="text"][/dzspgb_element][dzspgb_element text="test" type_element="text"][/dzspgb_element][/dzspgb_row_part][dzspgb_row_part part="1.4"][/dzspgb_row_part][dzspgb_row_part part="1.4"][/dzspgb_row_part][dzspgb_row_part part="1.4"][/dzspgb_row_part][/dzspgb_row][dzspgb_container]test second[/dzspgb_container][/dzspgb_container][/thisbreaks]
测试正则表达式:
*\[dzspgb_container(.*?)](.*?)\[\/dzspgb_container\](?!\s*\[\/)*
如果我们从字符串中删除 [/thisbreaks]
,它将起作用。
这是因为最后的否定前瞻断言。我建议您删除前瞻并使用如下所示的贪婪正则表达式模式。
\[dzspgb_container(.*?)](.*)\[\/dzspgb_container\]
(?!\s*\[\/)
断言匹配后不会跟随(零个或多个 space 个字符和一个 [
符号)