正则表达式将字符串中任意位置的一个字符精确匹配一次

2024-01-20

我想匹配字符串中的符号@。无论它是在字符串的开头、中间、结尾还是字符串内部的任何位置,都没有关系。重要的是只匹配 0 或 1 次。

我想到了这样的事情:

^[^@]*@[^@]*$

但肯定行不通,因为即使它匹配符号@一次,它也只能在字符串内部匹配。

@foobar Valid
foo@bar Valid
foobar@ Valid
fooba@r Valid

but

@@foobar Invalid
@foo@bar Invalid
foo@b@ar Invalid

您可以使用以下正则表达式:

^[^@]*@[^@]*$ 

禁止拥有超过一个@在你的输入字符串中。

Tested:

https://regex101.com/r/H4hXF5/1 https://regex101.com/r/H4hXF5/1

如果您还需要匹配不带@在其中添加一个?就在正则表达式中的后面:

^[^@]*@?[^@]*$

这也将匹配字符串abc例如

解释:

  • ^行首
  • [^@]*那么除了@被拍摄了 0 到 N 次
  • @然后一个@ char
  • [^@]*与步骤2相同
  • $行尾
  • ?在该角色变为可选之前拥有该角色
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式将字符串中任意位置的一个字符精确匹配一次 的相关文章

  • 如何在正则表达式中输入“:”(“冒号”)?

    冒号 在正则表达式中具有特殊含义 但我需要按原样使用它 例如 A Za z0 9 我试图逃避它 但这不起作用 A Za z0 9 在大多数正则表达式实现 包括 Java 的 中 无论在字符类内部还是外部 都没有特殊含义 您的问题很可能是由于
  • 删除匹配前的一个单词和一个单词

    匹配之前的一个单词可以是一组任何符号 例如 D E F 我有一个正则表达式 s w s XXX 输入示例 This is KKK M D D xXx PPP输出示例 This is KKK PPP 所以我需要删除 XXX 之前的 1 个单词
  • 如何检查号码是否是巴基斯坦用户的手机号码而不是固定电话号码

    我所做的是从开头删除 92 或 0092 并使用以下代码检查它是否是巴基斯坦人的有效手机号码 if preg match 3 0 4 0 9 number 1 Pakistani mobile number else not a pakis
  • 选择前 n 个字符相等的行(MySQL)

    我有一张带有玩家句柄的桌子 如下所示 1 N Laka 2 N James 3 nor Brian 4 nor John 5 Player 2 6 Spectator 7 N Joe 从那里我想选择第一个 n 字符匹配的所有玩家 但我不知道
  • RegularExpressionValidator.ValidationExpression 强制长度为 10 或 12 个符号

    RegularExpressionValidator ValidationExpression d 10 仅表示数字 最多 10 位 RegularExpressionValidator ValidationExpression d 10
  • Perl:HTTP::微小删除留下损坏的锚标记

    我编写了一个脚本 该脚本收集从数据库读取的缓冲区内的所有 URL 检查该页面是否仍然存在 并使用 HTTP Tiny 从缓冲区中删除 URL 如果该 URL 无法访问或返回无效 问题是 HTTP Tiny 删除左锚标记 例如此处无效的文本
  • 正则表达式最多匹配五个单词

    我有一个正则表达式 a zA Z 0 9 1 5 它验证该单词包含字母数字字符和少数特殊字符 并且长度不应超过5人物 如何使此正则表达式接受最多五个与上述正则表达式匹配的单词 a zA Z 0 9 1 5 s a zA Z 0 9 1 5
  • 与区域指示符字符类匹配的 python 正则表达式

    我在 Mac 上使用 python 2 7 10 表情符号中的标志由一对表示区域指示符号 https en wikipedia org wiki Regional Indicator Symbol 我想编写一个 python 正则表达式来在
  • 将html数据解析成python列表进行操作

    我正在尝试读取 html 网站并提取其数据 例如 我想查看公司过去 5 年的 EPS 每股收益 基本上 我可以读入它 并且可以使用 BeautifulSoup 或 html2text 创建一个巨大的文本块 然后我想搜索该文件 我一直在使用
  • Golang 正则表达式在字符串之间替换

    我有一些可能采用以下形式的字符串 MYSTRING MYSTRING n MYSTRING n MYSTRING randomstringwithvariablelength n 我希望能够将其正则表达式为MYSTRING foo 基本上替
  • ORA-12728: 正则表达式中的范围无效

    我想检查表中是否插入了有效的电话号码 所以我的触发代码在这里 select start index into mob index from gmarg mobile operators where START INDEX substr ne
  • Python 中的 grep 等价物是什么?

    假设我有一个文本文件 其中包含 我喜欢大象 这一行 如果我捕获所述文件并将其通过管道发送到 grep大象 我会得到整行 我喜欢大象 如何使用 re 在 Python 中实现此功能 我一直在尝试以下方法 test re search elep
  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我
  • 从字体到跨度(大小和颜色)和背面的正则表达式(VB.NET)

    我正在寻找一个正则表达式 可以将我的字体标签 仅具有大小和颜色属性 转换为具有相关内联CSS的span标签 如果有帮助的话 这将在 VB NET 中完成 我还需要一个正则表达式来实现相反的效果 下面详细说明的是我正在寻找的转换示例 font
  • Powershell 将单个字符串与多个正则表达式匹配?

    除了依次迭代每个正则表达式之外 是否有一种更 powershelly 的方式将单个字符串与正则表达式的数组 集合进行匹配 我真正想做的是这样的 database Name match includeRegexArray 考虑到 Powers
  • java中删除字符串中的特殊字符?

    如何删除字符串中除 之外的特殊字符 现在我用 replaceAll w s 它删除了所有特殊字符 但我想保留 谁能告诉我我该怎么办 Use replaceAll w s 我所做的是将下划线和连字符添加到正则表达式中 我添加了一个 连字符之前
  • Python正则表达式非贪婪匹配

    这个问题来自 用Python自动化无聊的事情 一书 atRegex1 re compile r w 1 2 at atRegex2 re compile r w 1 2 at atRegex1 findall The cat in the
  • 正则表达式上的换行符

    我试图替换两个标签之间的所有内容 但我无法构建正确的表达式 这就是我所做的
  • 如何编写 Clojure 宏来从字符串创建正则表达式?

    我正在创建一个方便的宏 部分便利在于可以仅使用字符串来指定正则表达式 而不是使用 re 表示法 我无法弄清楚的一部分是如何让宏获取字符串并将其重写为 Clojure 正则表达式 例如 生成 re 符号 我认为这是一个语法 转义问题 我的第一
  • 如何通过php获取网页的Open Graph协议?

    PHP 有一个简单的命令来获取网页的元标记 get meta tags 但这仅适用于具有名称属性的元标记 然而 开放图谱协议如今变得越来越流行 从网页获取 opg 值的最简单方法是什么 例如 我看到的基本方法是通过 cURL 获取页面并使用

随机推荐

  • 如何读取 web.config 文件中的 appSettings 部分?

    我的 XML 看起来像这样 文件名是web config
  • “cl”未被识别为内部或外部命令

    下面是我在 windows7 中运行 scons 编译器时的错误消息 cl is not recognized as an internal or external command operable program or batch fil
  • 使用 diff 手动合并两个文件

    我想通过执行以下操作来合并两个文件 将两个文件的差异输出到临时文件中并 手动选择我想要复制 保存的行 这里的问题是diff u只给我一个文件行的上下文 而我想以统一的格式输出整个文件 有什么办法可以做到这一点吗 一种可能适合您的选择 sdi
  • 创建反应应用程序,重新加载不起作用

    我刚刚开始使用 React 进行编码创建反应应用程序 https github com facebookincubator create react app 在文档中说 如果您进行编辑 页面将重新加载 我不知道哪个模块负责自动重新加载 we
  • Textarea charCount - 防止用户粘贴

    下面的代码工作正常 只是如果我粘贴一个超过 10 个字符的字符串 它应该只粘贴前 10 个字符 目前还没有这样做 如何防止粘贴超过 10 个字符 http jsfiddle net qfzkw 2 http jsfiddle net qfz
  • 数组大小和复制性能

    我确信这个问题之前已经得到了回答 但我找不到一个好的解释 我正在编写一个图形程序 其中管道的一部分将体素数据复制到 OpenCL 页面锁定 固定 内存 我发现这个复制过程是一个瓶颈 并对一个简单的性能进行了一些测量std copy 数据是浮
  • 在 java 7 上使用 JNI 运行 java 5/6 会出现堆栈保护警告

    使用 1 5 或启用 1 5 比较模式的 1 6 构建的 java 程序会给出以下警告 Java HotSpot TM 服务器 VM 警告 您已加载库 mynativelib so 可能禁用了堆栈保护 虚拟机现在将尝试修复堆栈防护 强烈建议
  • 如何使用 git diff 显示一些不可见的字符差异?

    当我使用git diff 我看到了如下差异 self conv 2 nn Conv2d C in C out 2 1 stride 2 padding 0 bias False self conv 2 nn Conv2d C in C ou
  • 来自多个进程的 Python 日志记录

    我有一个可能长时间运行的程序 当前有 4 个进程 但可以配置为有更多进程 我研究过从多个进程记录 http docs python org howto logging cookbook html logging to a single fi
  • 如何修复 IE 渲染 border-radius 与 box-shadow 结合的问题?

    有人知道如何 修复 IE 9 和 10 中 box shadow 和 border radius 组合的渲染吗 使用嵌入阴影时尤其明显 与 webkit gecko 相比 IE 中阴影的半径有很大不同 在此图中您可以看到问题 左边是一个带有
  • 如何使 Eclipse 输出 std:out 到标准 Windows 控制台

    正如 Eclipse 用户所知 Eclipse 默认捕获 std out 和 err 的输出 并将其转储到与 IDE 集成的控制台中 我希望 Eclipse 默认情况下仅使用标准 Windows cmd 实例来显示 std out 和 st
  • Git 的“替代机制”是什么?

    我正在学习通过man gitglossary 而这个术语一直让我困惑 因为术语表中根本没有定义它 它仅被引用两次 添加星号 alternate object database Via the alternates mechanism a r
  • 从 IP 块计算网络掩码/网关

    我们的数据中心为我们提供了所有机器的 JSON 转储 以便导入到我们自己的库存管理系统中 这提供了 IP 块 例如 192 168 1 1 26 但当我导入数百个块时 我还想计算网络掩码和网关 我查看了 PHP Doxygen 上的网络功能
  • Java VM:在 1.6.0_17 和 1.6.0_18 上均可重现 SIGSEGV,如何报告?

    EDIT 这种可重现的 SIGSEGV 发生在一台具有多个 proc 和超过 2GB 内存的 Linux 机器上 因此 Java 默认为 server 模式 有趣的是 如果我强制 client 就不会再崩溃了 我仍然不太确定如何处理我的可重
  • .net Winform 应用程序的 app.config 文件位于哪里?

    根据此链接 我们可以在 app config 文件中添加节点 http msdn microsoft com en us library ff602939 aspx http msdn microsoft com en us library
  • package.egg-info 文件夹的用途是什么?

    我正在开发一个 python 包foo 我的项目结构如下所示 foo foo bar py foo py init py README md setup py footest test py test py只有 1 行 import foo
  • 传入 Reflect.New(Type) 的结果时,v.Elem() 与 Indirect(v)

    我的问题与这里的这个问题相关 golang 反射包中的 Elem 与间接 https stackoverflow com questions 24318389 golang elem vs indirect in the reflect p
  • 无法找到或创建新的 virtualenv

    我刚刚获得 Python 3 5 2 并想创建一个 virtualenv 我以前做过这个 现在 我在 Python2 7 项目上有一个 virtualenv 我仍然可以使用 source bin activate 打开它 但是 尽我所能 从
  • 分叉开源项目的最佳实践是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我需要定制一个开源项目 这些更改是针对特定组织的 对公共项目没有用处 代码更改包括禁用组织不需要的功能 影响 5 的代码 为组织定制其他功能 影
  • 正则表达式将字符串中任意位置的一个字符精确匹配一次

    我想匹配字符串中的符号 无论它是在字符串的开头 中间 结尾还是字符串内部的任何位置 都没有关系 重要的是只匹配 0 或 1 次 我想到了这样的事情 但肯定行不通 因为即使它匹配符号 一次 它也只能在字符串内部匹配 foobar Valid