标签: case-insensitive

使用索引在数据库中进行不区分大小写的搜索?

我正在使用Postgres.

我的数据库中有一个Artices表,其中包含url slugs的列url.这些是我可以在网站上显示该表中的文章而不是" example.com/23323"而是" example.com/Funny_Thing_Happened_to_Me".这很容易实现,然后随着文章数量的增长,我在url slugs上添加了一个索引.

我已经意识到虽然我希望能够在网址中显示大写字母,但我希望它们在用户键入的内容中不区分大小写,并且我希望以不区分大小写的方式强制网址上的唯一性.

是否有一种直接的方式来快速搜索基于文本列的不区分大小写的方式,并以不区分大小写的方式强制执行唯一性?

我尝试用类似的东西进行搜索,lower(url) =但这导致Postgres决定不使用索引.

database postgresql search case-insensitive

4
推荐指数
1
解决办法
2710
查看次数

使用Objectify + google appengine进行不区分大小写的过滤器查询

是否有一种简单的方法可以使用Objectify + google appengine(Java)进行不区分大小写的过滤查询?基本上这是我想要做的,除了我需要电子邮件上的过滤器不区分大小写.

Objectify objectifyService = ObjectifyService.begin();
objectifyService.query(AppUser.class).filter("email", email).get();
Run Code Online (Sandbox Code Playgroud)

java google-app-engine case-insensitive objectify

4
推荐指数
1
解决办法
2099
查看次数

使用通用视图的不区分大小写的查询

我希望我的网址不区分大小写.在使用通用视图时,将(?i)添加到urls.py中正则表达式的开头并不完全有效.

这是我想关注的网址:

url(r'^(?i)(?P<year>\d{4})/(?P<month>[a-z]{3})/(?P<day>\w{1,2})/(?P<slug>[-A-Za-z0-9_]+)/$', BlogDateDetailView.as_view(model=Entry,
 queryset=Entry.objects.all(),
 date_field='pub_date',
 slug_field='slug',
 )),
Run Code Online (Sandbox Code Playgroud)

以下工作:

http://mysite.com/2012/jan/24/my-article
http://mysite.com/2012/JAN/24/my-article
Run Code Online (Sandbox Code Playgroud)

以下不起作用(即我得到404):

http://mysite.com/2012/jan/24/My-Article
Run Code Online (Sandbox Code Playgroud)

我认为它不起作用的原因是因为slug的查询查询区分大小写.为了使这项工作,我相信我需要子类(不确定这是否是正确的术语),class SingleObjectMixin(object):因为这是queryset = queryset.filter(**{slug_field: slug})发生的地方.也许我应该继承get_queryset().

我很欣赏有关如何在django 1.3中干净利落地做一些指导

django case-insensitive

4
推荐指数
1
解决办法
577
查看次数

PHP-REGEX:重音字母与非重音字母匹配,反之亦然.怎么做到这一点?

我想做典型的高亮代码.所以我有类似的东西:

$valor = preg_replace("/(".$_REQUEST['txt_search'].")/iu", "<span style='background-color:yellow; font-weight:bold;'>\\1</span>", $valor);
Run Code Online (Sandbox Code Playgroud)

现在,请求单词可能类似于"josé".有了它,我也想要"jose"或"JOSÉ"或"José"等.

有了这个表达式,如果我写"josé",它会匹配"josé"和"JOSÉ"(以及所有案例变体).它始终只与重音变体匹配.如果我搜索"jose",它会匹配"JOSE","jose","Jose"而不是重音符号.所以我部分地想要我想要的,因为我对重音和非重音分别不区分大小写.

我需要它完全结合,这意味着重音(unicode)不敏感,所以我可以搜索"jose",并突出显示"josé","josÉ","José","JOSE","JOSÉ","JoSé",... .

我不想在单词上替换重音,因为当我在屏幕上打印时,我需要看到真实的单词.

有任何想法吗?

谢谢!

php regex case-insensitive non-ascii-characters

4
推荐指数
1
解决办法
2552
查看次数

SpringMongo不区分大小写的搜索正则表达式

我正在尝试在Mongo中进行不区分大小写的搜索.基本上我想要不区分大小写的字符串匹配我正在使用正则表达式.这是我的代码

Query query = new Query( Criteria.where(propName).regex(value.toString(), "i"));
Run Code Online (Sandbox Code Playgroud)

但是上面的剂量匹配我的整个字符串(有时用空格的字符串).它返回值,即使它是一个子字符串.

例如:假设我的集合有2个值"Bill"和"Bill status",即使我的搜索是"账单状态",它也会返回"账单".即使我正在搜索字符串的子字符串,它也会返回结果对于

我试过了 Query query = new Query( Criteria.where(propName).is(value.toString()));

但以上是区分大小写的.有人可以帮忙解决这个问题.

regex spring case-insensitive string-matching mongodb

4
推荐指数
2
解决办法
1万
查看次数

将正则表达式选项传递给PowerShell [regex]类型

我使用以下正则表达式代码捕获两个匹配的组:

[regex]$regex = "^([0-9]{1,20})(b|kb|mb|gb|tb)$"

$matches = $regex.match($minSize)

$size=[int64]$matches.Groups[1].Value
$unit=$matches.Groups[2].Value
Run Code Online (Sandbox Code Playgroud)

我的问题是我想让它不区分大小写,我不想使用正则表达式修饰符.

我知道你可以在.NET中传递正则表达式选项,但我无法弄清楚如何使用PowerShell做同样的事情.

regex powershell case-insensitive

4
推荐指数
3
解决办法
5341
查看次数

javascript不区分大小写,仅用于字符串的一部分

我有以下正则表达式 -

bannerHtml.match(/href\s*=\s*[\"']{clickurl}(.*)[\"']/);
Run Code Online (Sandbox Code Playgroud)

符合以下条件 -
href = "{clickurl}

现在,我希望匹配href 只是不区分大小写,而不是整个字符串.我检查了添加i模式修饰符,但似乎总是用于整个字符串 -

bannerHtml.match(/href\s*=\s*[\"']{clickurl}(.*)[\"']/i); 
Run Code Online (Sandbox Code Playgroud)

进一步的细节 我希望以下所有内容相匹配 -
hREF = "{clickurl}
href = "{clickurl}
HREF = "{clickurl}

但是,资本案件clickurl部分不应该匹配 -
href = "{CLICKURL}

javascript regex case-insensitive

4
推荐指数
1
解决办法
2333
查看次数

Elasticsearch中的意外(不区分大小写)字符串排序

我有一个我正在Elasticsearch中排序的控制台平台列表.

以下是"名称"字段的映射:

{
    "name": {
        "type": "multi_field",
        "fields": {
            "name": {
                "type": "string",
                "index": "analyzed"
            },
            "sort_name": {
                "type": "string",
                "index": "not_analyzed"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我执行以下查询时

{
  "query": {
    "match_all": {}
  },
    "sort": [
        {
          "name.sort_name": { "order": "asc" }
        }
    ],
    "fields": ["name"]
}
Run Code Online (Sandbox Code Playgroud)

我得到这些结果:

{
    "took": 1,
    "timed_out": false,
    "_shards": {
        "total": 3,
        "successful": 3,
        "failed": 0
    },
    "hits": {
        "total": 17,
        "max_score": null,
        "hits": [
            {
                "_index": "platforms",
                "_type": "platform",
                "_id": "1393602489",
                "_score": null,
                "fields": { …
Run Code Online (Sandbox Code Playgroud)

sorting case-insensitive elasticsearch

4
推荐指数
1
解决办法
3853
查看次数

c#文件路径字符串比较不区分大小写

我想在c#中比较包含文件路径的两个字符串.

但是,因为在ntfs中默认使用不区分大小写的路径,所以我希望字符串比较以相同的方式不区分大小写.

但是,我似乎无法找到有关ntfs如何实际实现其不区分大小写的任何信息.我想知道的是如何使用ntfs用于文件路径的相同大小写规则对字符串进行不区分大小写的比较.

c# string ntfs case-insensitive casing

4
推荐指数
1
解决办法
2426
查看次数

从rowname中选择使用不区分大小写的数据帧行(如`grep -i`)

我有一个如下所示的数据框:

In [1]: mydict = {"1421293_at Hdgfl1":[2.140412,1.143337,3.260313],
                  "1429877_at Lrriq3":[9.019368,0.874524,2.051820]}

In [3]: import pandas as pd

In [4]:  df = pd.DataFrame.from_dict(mydict, orient='index')

In [5]: df
Out[5]:
                          0         1         2
1421293_at Hdgfl1  2.140412  1.143337  3.260313
1429877_at Lrriq3  9.019368  0.874524  2.051820
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用不区分大小写的查询从行名称中选择行.例如,给定查询"hdgfl1"它应该返回:

                                         0                1               2
1421293_at Hdgfl1                 2.140412          1.143337          3.260313
Run Code Online (Sandbox Code Playgroud)

"hdgfl1"是对"1421293_at Hdgfl1"的不区分大小写的查询.基本相当于grep -i.

这样做的方法是什么?

python select case-insensitive pandas

4
推荐指数
1
解决办法
2518
查看次数