是否有一个正则表达式 (PCRE) 符号会明确强制表达式解析失败?
Is there a regular expression (PCRE) notation that will explicitly force parsing of the expression to fail?
本例中的 perl 正则表达式 (PCRE) 是一个字符串,其中注入了多个变量(宏)。这些组件可以定义也可以不定义,如果配置中未定义值,我可以提供默认值;理想情况下,一个符号会导致表达式无法计算,这将被报告给用户。不幸的是,这是我必须使用的逻辑,无法更改。
我目前的解决方案是使用带有一些错误信息的不匹配的括号,即 "(Undefined-Macro"。我更喜欢明确的东西,但会感谢任何其他建议如果注入组件的正则表达式已经缺少括号,则不太可能中断。
真的很难确定任何给定的字符串都是语法错误,因为这在很大程度上取决于之前发生的事情。你不匹配的括号是一种适当的黑客攻击,但如果你想要一个替代方案,请尝试类似“\p:Error message”的东西。 "\p" 表示法后面需要一个字符或左大括号,因此冒号会触发语法错误 — if 它在任何上下文中都被解释为 "\p" 模式, 当然。
本例中的 perl 正则表达式 (PCRE) 是一个字符串,其中注入了多个变量(宏)。这些组件可以定义也可以不定义,如果配置中未定义值,我可以提供默认值;理想情况下,一个符号会导致表达式无法计算,这将被报告给用户。不幸的是,这是我必须使用的逻辑,无法更改。
我目前的解决方案是使用带有一些错误信息的不匹配的括号,即 "(Undefined-Macro"。我更喜欢明确的东西,但会感谢任何其他建议如果注入组件的正则表达式已经缺少括号,则不太可能中断。
真的很难确定任何给定的字符串都是语法错误,因为这在很大程度上取决于之前发生的事情。你不匹配的括号是一种适当的黑客攻击,但如果你想要一个替代方案,请尝试类似“\p:Error message”的东西。 "\p" 表示法后面需要一个字符或左大括号,因此冒号会触发语法错误 — if 它在任何上下文中都被解释为 "\p" 模式, 当然。