我|
在regex,Python中有了(管道特殊字符)的含义。它匹配第一个或第二个。
ex:a|b
匹配a或b。
我的问题: 如果我想比赛有什么a
用大小写敏感的,b
在上面的例子中不区分大小写?
例如:
s = "Welcome to PuNe, Maharashtra"
result1 = re.search("punnee|MaHaRaShTrA",s)
result2 = re.search("pune|maharashtra",s)
result3 = re.search("PuNe|MaHaRaShTrA",s)
result4 = re.search("P|MaHaRaShTrA",s)
我想按照上述声明(s
即)的方式搜索Pune
PuNe
。但是我必须忽略大小写来搜索马哈拉施特拉邦。如何搜索区分大小写的1个单词和不区分大小写的另一个单词?这样,result1
,result2
,result3
,result4
将给予not null
价值。
我想 :
result1 = re.search("pune|MaHaRaShTrA",s1, re.IGNORECASE)
但这忽略了两个词的情况。
如何限制一个单词区分大小写而另一个不区分大小写?
在Python 3.6及更高版本中,您可以使用内联修饰符组:
>>> s = "Welcome to PuNe, Maharashtra"
>>> print(re.findall(r"PuNe|(?i:MaHaRaShTrA)",s))
['PuNe', 'Maharashtra']
请参阅相关的Pythonre
文档:
(?aiLmsux-imsx:...)
(零或从所述一组多个字母
'a'
,'i'
,'L'
,'m'
,'s'
,'u'
,'x'
,任选接着进行'-'
随后从一个或多个字母'i'
,'m'
,'s'
,'x'
。)中的字母设置或移除对应的标志:re.A
(只有ASCII匹配),
re.I
(忽略大小写),re.L
(取决于语言环境),re.M
(多行),re.S
(所有点都匹配),re.U
(Unicode匹配)和re.X
(详细)。(这些标志在模块内容中描述。)这些信件
'a'
,'L'
并'u'
为内联标志使用时,所以他们不能合并或者按照相互排斥'-'
。而是,当其中一个出现在内联组中时,它将覆盖封闭组中的匹配模式。在Unicode模式中,(?a:...)
切换到仅ASCII匹配,然后(?u:...)
切换到Unicode匹配(默认)。在字节模式中,(?L:...)
切换到取决于语言环境的匹配,并(?a:...)
切换到仅ASCII匹配(默认)。此替代仅对狭窄的内联组有效,并且原始匹配模式在组外恢复。_3.6版的新功能。
在3.7版中进行了更改:字母“ a”,“ L”和“ u”也可以在一个组中使用。_
不幸的是,re
3.6之前的Python版本不支持这些组,也不支持交替启用和禁用内联修饰符。
如果可以使用PyPi
regex模块
,则可以使用以下(?i:...)
结构:
import regex
s = "Welcome to PuNe, Maharashtra"
print(regex.findall(r"PuNe|(?i:MaHaRaShTrA)",s))
请参阅在线Python演示。
问题内容: 我正在尝试提出一个要求区分大小写的结果的请求。 例如在我的数据库中 该请求是 但我有3行作为结果,我只想要abcdef 我试图找到一个解决方案 但是我有这个错误: 未知归类:’Latin1_General_CS_AS’{“成功”:false,“错误”:“#1273-未知归类:’Latin1_General_CS_AS’”} 谢谢 问题答案: 感谢您的帮助,我找到了不是latin1 ut
我需要一个像
对于报告(0.1%的所有查询),我需要返回一个所有可能类别的列表,区分大小写! 考虑以下文件: 运行以下查询: 返回: 是否有方法返回区分大小写的类别(存储在文档中)?我对此查询结果中的感兴趣。 Elasticsearch论坛中的问题 谢谢,伊泰
问题内容: 我有一个Lucene索引,该索引当前区分大小写。我想添加的 选项 有不区分大小写作为后备的。这意味着与案例匹配的结果将获得更大的权重,并且将首先出现。例如,如果结果数限制为10,并且有10个匹配项符合我的情况,那就足够了。如果仅找到7个结果,则可以从不区分大小写的搜索中再添加3个结果。 我的案子实际上更复杂,因为我有不同重量的物品。理想情况下,匹配“错误”的表壳会增加一些重量。不用说,
问题内容: 我想按不区分名称的名称搜索用户表中的数据。 我收到一个错误: 意外令牌:% 。我应该在哪里放置“%”? 问题答案: 您可以使用concat运算符: 或使用命名参数: (使用Spring Boot 1.4.3测试)
问题内容: 我有一个充满小写和大写数据的json。例如 : 而且我有类似的东西: 我想做的是搜索朋友,而不用看大写和小写。因此,基本上,当我在输入中键入“ John”,“ JOHN”或简单地输入“ john”时,它应该返回我的朋友John。 那么是否可以将不区分大小写的选项应用于过滤器? 问题答案: 将您在使用字符串的toLowerCase的适用范围内定义的函数名称传递给您。参见ngFilter。