我想知道是否可以将参数传递给正则表达式,就好像它们是MySQL REGEXP函数中的文字字符串一样。我想做的是以下几点:
SELECT ? REGEXP CONCAT('string', ?, 'string')
现在当我将一个点(“。”)传递给第二个参数时,它会自动匹配任何字符,如预期的那样。这意味着像“stringastring”和“stringbstring”这样的字符串与模式匹配。我想知道是否有可能只匹配文字点,以便在这种情况下只匹配“string.string”。有没有办法用MySQL正则表达式做这样的事情,这不涉及显式转义参数(这首先违背了传递参数的目的)?
答案 0 :(得分:0)
答案 1 :(得分:0)
如果我理解你的问题,我认为你正在寻找这个:
SELECT ? REGEXP CONCAT('string', REPLACE(?, '.', '[.]'), 'string')
使用REPLACE函数,任何点总是转义为[。],但所有其他特殊字符都按字面顺序传递。
答案 2 :(得分:0)