我正在使用Postgres.
我的数据库中有一个Artices表,其中包含url slugs的列url.这些是我可以在网站上显示该表中的文章而不是" example.com/23323"而是" example.com/Funny_Thing_Happened_to_Me".这很容易实现,然后随着文章数量的增长,我在url slugs上添加了一个索引.
我已经意识到虽然我希望能够在网址中显示大写字母,但我希望它们在用户键入的内容中不区分大小写,并且我希望以不区分大小写的方式强制网址上的唯一性.
是否有一种直接的方式来快速搜索基于文本列的不区分大小写的方式,并以不区分大小写的方式强制执行唯一性?
我尝试用类似的东西进行搜索,lower(url) =但这导致Postgres决定不使用索引.
是否有一种简单的方法可以使用Objectify + google appengine(Java)进行不区分大小写的过滤查询?基本上这是我想要做的,除了我需要电子邮件上的过滤器不区分大小写.
Objectify objectifyService = ObjectifyService.begin();
objectifyService.query(AppUser.class).filter("email", email).get();
Run Code Online (Sandbox Code Playgroud) 我希望我的网址不区分大小写.在使用通用视图时,将(?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中干净利落地做一些指导
我想做典型的高亮代码.所以我有类似的东西:
$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é",... .
我不想在单词上替换重音,因为当我在屏幕上打印时,我需要看到真实的单词.
有任何想法吗?
谢谢!
我正在尝试在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]$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做同样的事情.
我有以下正则表达式 -
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}
我有一个我正在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) 我想在c#中比较包含文件路径的两个字符串.
但是,因为在ntfs中默认使用不区分大小写的路径,所以我希望字符串比较以相同的方式不区分大小写.
但是,我似乎无法找到有关ntfs如何实际实现其不区分大小写的任何信息.我想知道的是如何使用ntfs用于文件路径的相同大小写规则对字符串进行不区分大小写的比较.
我有一个如下所示的数据框:
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.
这样做的方法是什么?