首页 / 知识
您可以只区分大小写的正则表达式吗?
2023-04-14 04:43:00

Can you make just part of a regex case-insensitive?我已经看到了很多使整个正则表达式不区分大小写的示例。我想知道的是让表达式的一部分不区分大小写。 例如,假设我有一个像这样的字符串:
如果我想匹配所有出现的" foo"(无论大小写),但我只想匹配大写的" BAR"怎么办? 理想的解决方案是可以在正则表达式中使用的解决方案,但我也想听听特定于语言的解决方案(谢谢Espo) 编辑 Espo提供的链接非常有帮助。那里有一个很好的例子,可以在表达式中打开和关闭修饰符。 对于我想做的示例,我可以执行以下操作:
这使得匹配仅对匹配的foo部分不区分大小写。 除Javascript,Python和其他一些(如Espo所述)外,这似乎在大多数正则表达式实现中均有效。 我所想知道的大公司(Perl,PHP,.NET)都支持内联模式更改。 Perl使您可以使用(?i :)模式修饰符使正则表达式的一部分不区分大小写。 现代的regex风格允许您仅将修饰符应用于正则表达式的一部分。如果在正则表达式的中间插入修饰符(?ism),则修饰符仅适用于修饰符右侧的正则表达式部分。您可以通过在模式前面加上减号来关闭模式。减号后的所有模式将关闭。例如。 (?i-sm)打开不区分大小写的功能,并同时关闭单行模式和多行模式。 并非所有的正则表达式都支持此功能。 JavaScript和Python将所有模式修饰符应用于整个正则表达式。它们不支持(?-ismx)语法,因为当模式修饰符应用于整个正则表达式时,关闭选项毫无意义。默认情况下,所有选项都是关闭的。 您可以快速测试您使用的正则表达式味道如何处理模式修饰符。正则表达式(?i)te(?-i)st应该匹配test和TEst,但不能匹配teST或TEST。 资源
不幸的是,不区分大小写的匹配的语法并不常见。 您使用什么语言?执行此操作的标准方法是// [[Ff] [Oo] {2} | BAR)/,并且区分大小写,但是例如在Java中,有区分大小写修饰符(?i)可以使所有右边的字符不区分大小写,而(?-i)则强制敏感。该Java regex修饰符的示例可以在此处找到。 你可以用
.Net括号中的?:表示不捕捉,仅用于将|的术语分组。 (或)声明。 |
最新内容
相关内容
linux命令查找字符串?
linux命令查找字符串?,工具,信息,命令,字符串,系统,工作,文件,范本,样式,文本,Linux中使用grep命令,查询多个字符串Linux grep命令用于查找文linux命令正则表达式?
linux命令正则表达式?,工作,环境,基础,网络,单位,名称,平台,信息,正规,管理,Linux正则表达式正则表达式基本上是一种表示法,只要程序支持这种表linux的命令大小写?
linux的命令大小写?,系统,大小写,数字,信息,命令,名称,文件,目录,文件夹,文件名,linux对文件名大写和小写一样吗?1、Linux是严格区分大小写的,linux命令字符串匹配?
linux命令字符串匹配?,系统,工具,命令,字符串,灵活,状态,文件,文本,模式,管道,图文说明Linux下grep查找含有某字符串的方法在linux中grep命令python字符串截取?
python字符串截取?,代码,步长,位置,分析,字符串,字符,信息,灵活,数字,表示,在Python中,字符串是一种非常常见的数据类型,它可以用来表示文本、数Python代码区不区分大小写?
Python代码区不区分大小写?,代码,电脑,培训,工作,大小写,变量,方向,格式,语言,程序员,大家都知道,很多编程语言在撰写代码的时候是区分大小写的python的filter,lambda函数表达式
python的filter,lambda函数表达式,代码,函数,名称,培训,列表,参数,知识点,表达式,约数,元素,filter(functionorNone,sequence),其中sequence可python字符串处理函数大总结
python字符串处理函数大总结,位置,数字,异常,培训,字符串,空格,长度,两边,字母,函数,str=pythonStringfunction生成字符串变量str=pythonStripython之转换大小写
python之转换大小写,预期,数字,培训,字符串,方法,大小写,结果,下面,不得而知,单词,和其他语言一样,Python为string对象提供了转换大小写的方法python字符串处理相关函数
python字符串处理相关函数,数字,培训,通用,字符串,字符,函数,字母,模块,标号,空格,python中字符串中字符大小写的变换:*S.lower()#小写*S.uppe在Python中使用带有列表和字符串文
在Python中使用带有列表和字符串文字的for循环,代码,数字,培训,之间,字符串,列表,语句,文字,奇数,这一点,现在看一下下面的代码,输出1到100之Python生成表达式和列表解析
Python生成表达式和列表解析,工具,培训,列表,表达式,生成器,嵌套,计算所,元素,两个,动作,生成器表达式(Generatorexpression)和列表解析(List