我想执行一个mysql正则表达式,它将检查字符串的单数和复数版本。
我忽略特殊字符和复杂的语法规则,只想添加或删除“s”。
例如,如果用户输入“shoes”,则应返回“shoes”和“shoe”的匹配项。相反,如果用户输入“shoe”,则应返回“shoe”和“shoes”的匹配项。
我可以选择检查以下匹配的复数形式:
WHERE Store.tags RLIKE ('(^|,)+[[:space:]]*shoe(s)*[[:space:]]*(,|$)+')
我一直在读关于向前看或向后看的积极/消极的东西,我似乎一直在追我的尾巴。
最佳答案
好吧,如果你只是问删除或添加一个S…按照你的要求简单一点…
看看最后一个字母是不是S。如果是->单数去掉,如果不是,复数加一
WHERE (a LIKE '%shoes%' OR a LIKE '%shoe%')
真是太蠢了,但看到你只需要检查一下…够了。