Javascript RegExp 可以做到部分不区分大小写吗?

2023-12-08

我想知道 Javascript RegExp 是否能够在正则表达式本身中打开和关闭不区分大小写。我知道您可以为整个正则表达式设置修饰符,但这不是我要讨论的内容。

例如,我的搜索字符串可能是:
teXT To seArcH TOP SECRET.

我想找到不区分大小写的部分“要搜索的文本”,然后强制“绝密”区分大小写。

因此,这不匹配(因为最高机密区分大小写):
teXT To seArcH Top Secret

但这会匹配(第一部分的大小写并不重要):
text to search TOP SECRET

在 Perl 中,你可以这样做在搜索字符串内。 Javascript 的正则表达式引擎支持这样的东西吗?


您可以用区分大小写的“普通写法”编写正则表达式

/[tT][eE][xX][tT] [tT][oO] [sS][eE][aA][rR][cC][hH] TOP SECRET/
    .test('text to search TOP SECRET');
// true

另一种方法是两个正则表达式,一个不敏感的正则表达式后跟一个严格的正则表达式

function test(str) {
    var m = str.match(/text to search (TOP SECRET)/i);
    return (m || false) && /TOP SECRET$/.test(m[1]);
}

test('text to search TOP SECRET'); // true
test('text to search ToP SECRET'); // false

进一步,函数test上面可以在这种特定情况下进行优化(因为TOP SECRET部分实际上是一个字符串文字,它总是具有完全相同的形式),它不需要第二个完整的RegExp测试来检查它,即你可以做

(m || false) && 'TOP SECRET' === m[1];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript RegExp 可以做到部分不区分大小写吗? 的相关文章

  • 非常基本的 JS 编码,是否有 SoundManager2?

    我想在我的网站上包含一个具有以下属性的音频 可能的视频播放器 必须可通过 div 通过 CSS 设计样式 可以读取所有ID3信息 可以从数据库中提取文件 可能是 GoDaddy 的 Easy Database 无闪光 可转移至智能手机等 我
  • 使用 Charts.js 禁用动画

    我在使用 Charts js 关闭动画时遇到一些问题 这是我的代码 var pieData value 30 color F38630 value 50 color E0E4CC value 100 color 69D2E7 var myP
  • 如何获得相对于特定父级的偏移量?

    我想获取元素相对于的偏移量特定的父母不是直接的 也不是文档 我在互联网上查找并找到了offset http api jquery com offset and position http api jquery com position jQ
  • 强制执行 show.bind

    我有一个包含数据的表 当从另一个视图触发事件时 我希望视图检查 show bind 语句 问题是该事件没有更改当前视图中的任何数据 foo html tr p canBeRemoved p tr 我正在使用 EventAggregator
  • 尝试使用 CasperJS 跟踪 iframe 中的链接

    我正在尝试使用CasperJS http casperjs org index html跟踪 iframe 中的链接 但我似乎无法获取 iframe 的文档 这是使用我找到的 iframe 示例页面进行的测试 第三个 iframe 有一个名
  • jQuery 中如何判断 JSON 对象是否为空

    我有以下 JSON meta limit 20 next null offset 0 previous null total count 0 objects 我对对象感兴趣 我想知道对象是否为空并显示警报 像这样的东西 success fu
  • 使用 sed 替换复杂模式

    我想使用 sed 命令替换模式 要删除的图案如下所示 带有一个空格 var 0xaae8 x6A x6F x69 x6E x72 x65 x76 x65 x72 x73 x65 x73 x70 x6C x69 x74 x3E x74 x70
  • 从对象获取数据 - 我看到数据但无法保存它们

    正如你所看到的 我是新来的 我确实尝试过搜索 但没有找到解决我问题的方法 所以这是我的问题 如果我这样做 console log grid data kendoGrid data 这在控制台中显示如下 所以我明白这一点 有一个数组和一个带有
  • 我什么时候应该使用内联和外部 Javascript?

    我想知道什么时候应该包含外部脚本或将它们与 html 代码内联编写 就性能和易于维护而言 这方面的一般做法是什么 真实场景 我有几个需要客户端表单验证的 html 页面 为此 我使用了一个包含在所有这些页面上的 jQuery 插件 但问题是
  • 如何垂直打印数组中的字符串元素? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个数组 我想垂直打印每个元素 例如 myArr abc def ghi 输出应该是 a d g b e h c f
  • Facebook 登录无法在移动浏览器中使用

    我使用 react facebook login 在我的网站中实现了 facebook 登录module https github com keppelen react facebook login 我在 ComponentDidMount
  • 使用 awk 将特定子字符串与正则表达式匹配

    我正在处理特定的文件名 并且需要从中提取信息 文件名的结构类似于 20100613 M4 28007834 005 F RANDOMSTR raw gz RANDOMSTR 是最多 22 个字符的字符串 并且可能包含 或不包含 格式为 W
  • 电子邮件正则表达式将如何处理新的 unicode 域?

    Since 2009年10月 互联网 名称指定公司和 Numbers ICANN 批准了创建 国家 地区代码顶级域名 ccTLD 在互联网上使用 母语 IDNA 标准 脚本 我很确定大多数网站当前使用的标准正则表达式不会将它们标记为有效 还
  • 'DOMException:使用'option:selected'选择器时无法在'Element'上执行'querySelectorAll'

    我正在运行一个页面 该页面在以下行中引发错误 var label select find option selected html select find option first html 为了完整起见 这里是完整的 jQuery 函数
  • 谷歌浏览器如何启动桌面应用程序?

    我真的不知道术语 所以我将从一个例子开始 如果我点击磁力链接 Google Chrome 会询问我是否要启动 torrent 客户端 我单击 确定 chrome 启动该应用程序 该应用程序根据链接执行一些操作 现在有办法查看应用程序如何从
  • 单击时突出显示文本(javascript jquery html)

    当您在所有浏览器中双击某个单词时 它们会自动突出显示单击下的单词 但是否有可能找到一种方法exact单击一下就会发生同样的事情吗 我想这涉及到的事情可能是 TextRange 的东西 对所有段落 或整个正文或 div 的 onclick 做
  • JavaScript 按名称获取当前作用域中的变量

    所以我有一个变量和该变量名称的字符串 function Factory string var foo bar console log foo is equal to this string 如果变量所在的对象是当前对象 如何从字符串文字中获
  • 具有条件的重复行 pandas dataframe python

    我的数据框有问题 我的 df 是 product power brand product 1 3 x 1500W brand A product 2 2x1000W 1x100W product 3 1x1500W 1x500W brand
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • python 函数返回 javascript date.getTime()

    我正在尝试创建一个简单的 python 函数 它将返回与 javascript 相同的值new Date getTime 方法 如所写here http www w3schools com js js dates asp javascrip

随机推荐

  • JAXB 将具有相同命名空间的多个文件绑定到同一个包

    我有这样的架构层次结构 common legacy legacy xsd xmlns http common legacy other xsd xmlns http common legacy xsd xmlns http common l
  • 谁能推荐一个简单的 Java Web 应用程序框架? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 我正在尝试开始使用 Java 构建一个相对快速的 Web 应用程序 但我
  • 从 3 个不同的单声道创建实体

    我是反应式编程的新手 我看到可以压缩两个单声道来生成结果 Mono
  • 来自 Fortran 代码的 RECTILINEAR_GRID 的二进制 VTK

    我有一个 fortran 代码来生成二进制 VTK 格式的网格 此代码生成一个二进制 VTK 文件 如下所示 vtk DataFile Version 3 0 vtk output BINARY DATASET RECTILINEAR GR
  • 使用 Cartopy 合并国家/地区

    我正在使用以下代码制作一张瑞典 挪威和芬兰作为一个区域的地图 然而 我正在为此挣扎 我正在关注这个示例 Python Mapping in Matplotlib Cartopy Color One Country from shapely
  • 更改现有 Django 应用程序中主键的最佳方法是什么?

    我有一个处于测试模式的应用程序 这个应用程序的模型有一些带有显式primary key的类 因此 Django 使用这些字段并且不会自动创建 id class Something models Model name models CharF
  • 在 JScrollPane 中看不到组件

    我使用 JScrollPane 来保存大面积文本的 JTextArea 我直接将 TextArea 添加到 JFrame 中 效果很好 但我将它添加到滚动窗格并添加滚动窗格 我没有看到文本区域 这是我的 SSCCE public class
  • 在Linux上使用javah

    我有一个在 JNI 上使用的简单类 我需要将其导出到头文件 h 我读过我需要使用javah命令 通过转到src项目文件夹 然后输入 javah jni com main package NativeClass 在 Windows 上它工作正
  • 如何在谷歌云存储中存储同名文件

    我正在创建一个网站 其中有很多用户上传的图像文件 因此随着时间的推移 链接可能会在 Google 云存储上出现同名图像 即使一个用户也可以随着时间的推移上传同名图像 那么我该如何解决这个问题 您可以做的一件事是在上传时向文件名添加时间戳 e
  • Karaf - Kafka OSGI 捆绑包 - 生产者问题

    我正在尝试在 apache Karaf version 4 0 3 中为 Kafka 生产者创建一个简单的捆绑包 这是我的Java代码 Properties props new Properties props put bootstrap
  • SQLite 中的移动平均线

    我想计算 SQLite 表中数据的移动平均值 我在MySQL中找到了几种方法 但在SQLite中找不到有效的方法 在 SQL 中 我认为类似的事情应该可以做到 但是 我无法尝试 SELECT date value avg value OVE
  • 在MYSQL中使用hibernate注解设置默认值

    我在互联网上搜索过 看到了有关使用 mysql 中的 hibernate 注释在实体类中设置默认值的想法 并且我已经完成了将默认值设置为数据类型整数的列 如下所示 Column name COLUMN NAME insertable fal
  • Response.Redirect 使用 POST 而不是 Get?

    我们需要提交表单并保存一些数据 然后将用户重定向到异地页面 但在重定向中 我们需要使用 POST 来 提交 表单 而不是 GET 我希望有一种简单的方法可以实现这一点 但我开始认为没有 我想我现在必须创建一个简单的其他页面 其中只有我想要的
  • jQuery UI 自动完成奇怪的行为

    以下是我的代码 var availableTags ActionScript AppleScript Asp BASIC C C Clojure COBOL ColdFusion Erlang Fortran Groovy Haskell
  • 一页上有多个表单

    我的个人资料编辑页面上的图像上传表单不起作用 这两种形式必须分开 因为它们独立工作 图像上传脚本在提交个人资料编辑表单之前上传图像 我在一个单独的页面上测试了图像上传 这是该页面上唯一的内容并且它有效 所以我假设是另一种形式把事情搞砸了 这
  • SQL 检查位标志

    因此应用程序具有带有位标记的复选框 根据选择的复选框选项 应用程序会将其作为整数存储在数据库中 如何查询数据库中的 int 以检查特定位是否打开 关闭 Example Decimal Binary 16 00010000 208 11010
  • 如何在iOS上使用CSS溢出来获取滚动条

    开发一个 iPad 网站我尝试使用 CSS 属性overflow auto如果需要的话获取滚动条div 但即使两根手指滚动正常 我的设备也拒绝显示它们 我尝试过 overflow auto and overflow scroll 结果是一样
  • 文件 Uri 方案和相关文件

    假设 uri 的方案是 文件 还假设路径以 开头 示例路径是 bashrc Fulluri 看起来怎么样 file bashrc 对我来说似乎很奇怪 简而言之 文件 URL 的形式如下 file localhost absolute pat
  • AWS EC2 tomcat 权限被拒绝创建/写入文件

    我有一个在弹性beanstalk EC2上运行的tomcat 64 位 Amazon Linux 2015 09 v2 0 4 运行 Tomcat 8 Java 8 当网络应用程序想要创建新的目录 文件时 我遇到了麻烦 我在 catalin
  • Javascript RegExp 可以做到部分不区分大小写吗?

    我想知道 Javascript RegExp 是否能够在正则表达式本身中打开和关闭不区分大小写 我知道您可以为整个正则表达式设置修饰符 但这不是我要讨论的内容 例如 我的搜索字符串可能是 teXT To seArcH TOP SECRET