非ASCII字符串的不区分大小写的正则表达式不起作用? [英] Case insensitive regex for non-ASCII strings does not work?

查看:48
本文介绍了非ASCII字符串的不区分大小写的正则表达式不起作用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Neo4j 2.1.0-M01中,我刚刚发现在Web界面浏览器的列表中,不区分大小写的正则表达式匹配不适用于乌克兰语单词.假设我的某个节点上有一个单词Ліга".

With Neo4j 2.1.0-M01, I just discovered that case insensitive regex match does not work with Ukrainian words, at list from web-interface browser. Say I have node with a word 'Ліга' somewhere.

MATCH (n) WHERE n.payload =~ '(?i).*ліга.*'不匹配

MATCH (n) WHERE n.payload =~ '(?i).*лІГа.*'不匹配

MATCH (n) WHERE n.payload =~ '(?i).*Ліга.*'匹配确定

我需要一些深奥的魔术来使其按预期工作吗?预先感谢!

Do I need some deep magic to get it working as expected? Thanks in advance!

WBR, 安德烈(Andrii)

WBR, Andrii

推荐答案

不确定100%,但是能否请您检查是否使用(?u)帮助:

Not 100% sure, but could you please check if using (?u) helps:

MATCH (n) WHERE n.payload =~ '(?iu).*лІГа.*'

这告诉正则表达式基于unicode而不是仅基于ASCII不区分大小写.

This tells the regex to work case insensitive based on unicode and not on ASCII only.

这篇关于非ASCII字符串的不区分大小写的正则表达式不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆