我想匹配一个看起来像这样的字符串:
[lang_de]Hallo![/lang_de][lang_en]Hello![/lang_en]HeyHo[lang_es]Hola![/lang_es]
如果存在lang_tags不包含的文本(在本示例中为HeyHo
),我希望匹配返回true 。也可以将其放置在字符串的开头或结尾。
空格不应匹配,例如[lang_de]Tisch[/lang_de] [lang_en]Table[/lang_en]
不应导致匹配。
我不能使用超前或回溯,因为MySQL似乎不支持此功能。
有什么建议?
试试这个正则表达式:
'^ *[^[ ]|\\[/lang_[a-z]{2}\\] *[^[ ]'
这是您可以使用的方式:
select *
from <table>
where <field> regexp '^ *[^[ ]|\\[/lang_[a-z]{2}\\] *[^[ ]'
它应该处理所有情况:
问题内容: 有谁知道Mysql的regexp是否支持unicode?我一直在做一些研究,大多数博客等都表明存在问题或不支持。我想知道,最好将LIKE用于unicode模式匹配,将regexp用于ASCII增强模式匹配吗? 我喜欢能够在字符串开头或结尾搜索匹配项的想法,但是如果regexp不支持unicode,那么如果我的文本是unicode,则可能会很困难。 问题答案: 有谁知道Mysql的reg
问题内容: 如何在mysql中匹配整个单词? 举例来说,如果我输入“ 刘 ”,我 不 希望匹配“ 劳拉 ”或“ 劳伦斯 ”。 以下是我的工作查询,将“ lau ”与“ laura ”匹配 有解决我的主意吗? 我使用的原因是我的内容具有html标签,例如, 我不想搜索可能落在诸如的标签内的单词。 问题答案: 这行得通吗? REGEXP’[^ <] * lau [[:>:]]’ 根据文档,[[:::]
问题内容: 我问这个问题以展示MySQL和Hibernate如何通过正则表达式相互配合。 问题: 解: 转到我的答案。 希望这可以帮助。 问题答案: 基本上,要在Hibernate中使用MySQL regexp函数,我们需要创建一个“ SQLFunctionTemplate”。 现在,如何做: 首先:创建一个名为“ AppMySQLDialect”的类,并从MySQLDialect扩展,然后覆盖空
问题内容: 领域。包含“ Stylus Photo 2100”并带有以下查询 我没有结果。我当然会搜寻 如何通过搜索“ Stylus 2100”选择记录? 谢谢 问题答案: 好吧,如果您知道单词的顺序..您可以使用: 您也可以使用:
问题内容: 例如我有字符串: 结果,我希望具有以下匹配项: 我知道我可以这样写: 但是我认为我很丑,正在寻找更好的解决方案。我在寻找正则表达式解决方案,而不是自写的有限状态机。 问题答案: 您可以将其与:
问题内容: 下面的MySQL表达式等效于SQL Server? 问题答案: 不幸的是,mssql中对regex的支持令人恐惧,最接近的运算符是“ like”,这使regex的功能远远漏掉了。您将不得不考虑将正则表达式分解为多个类似的语句,并可能进行一些肮脏的字符串操作以模仿您要实现的目标。 例如,虽然我们可以用[]复制[[:blank:]](请阅读[空格键]),但我们不能强制匹配零个或多个它们,因