Python 正则表达式单词边界出现意外结果

2023-11-29

import re
sstring = "ON Any ON Any"
regex1 = re.compile(r''' \bON\bANY\b''', re.VERBOSE)
regex2 = re.compile(r'''\b(ON)?\b(Any)?''', re.VERBOSE)
regex3 = re.compile(r'''\b(?:ON)?\b(?:Any)?''', re.VERBOSE)
for a in regex1.findall(sstring): print(a)
print("----------")
for a in regex2.findall(sstring): print(a)
print("----------")
for a in regex3.findall(sstring): print(a)
print("----------")

('在', '') ('', '') ('', '任何') ('', '') ('在', '') ('', '') ('', '任何')

('', '')

ON

Any

ON

Any


阅读了互联网和 S.O. 上的许多文章。我想我仍然不明白正则表达式单词边界:\b

第一个正则表达式没有给我预期的结果,我认为它必须给我“ON Any On Any”,但它仍然没有给我那个。

第二个正则表达式给了我元组,我不知道为什么或不理解其含义:('', '')

第三个正则表达式在分隔行和中间的空行上打印结果

你能帮助我理解这一点吗?


注意要匹配ON ANY你需要添加一个转义(因为你正在使用re.VERBOSE标志)之间的空间ON and ANY as \b字边界being a 零宽度断言

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

Python 正则表达式单词边界出现意外结果 的相关文章

  • 是否有匹配单个字素簇的正则表达式?

    字素是用户感知的文本字符 在 unicode 中可能由多个代码点组成 From Unicode 标准附录 29 http unicode org reports tr29 Grapheme Cluster Boundaries 重要的是要认
  • R tidyr regex:从字符列中提取有序数字

    假设我有一个像这样的数据框 df lt data frame x c This script outputs 10 visualizations This script outputs 1 visualization This script
  • Pandas 在列级别连接数据帧时添加键

    根据 Pandas 0 19 2 文档 我可以提供keys参数来创建结果多索引 DataFrame 一个例子 来自 pandas 文档 是 result pd concat frames keys x y z 我将如何连接数据框以便我可以在
  • 从 Django 基于类的视图的 form_valid 方法调用特殊(非 HTTP)URL

    如果你这样做的话 有一个 HTML 技巧 a href New SMS Message a 点击新短信打开手机的本机短信应用程序并预 先填写To包含所提供号码的字段 在本例中为 1 408 555 1212 以及body与提供的消息 Hel
  • 更改 numpy 数组的结构强制给定值

    如何缩小栅格数据的比例4 X 6大小成2 X 3如果 2 2 像素内的任何元素包含 1 则大小强制选择 1 否则选择 0 import numpy as np data np array 0 0 1 1 0 0 1 0 0 1 0 0 1
  • 替换字符以制作国际字母(变音符号)

    我正在尝试模仿国际键盘的工作方式 如果您使用其中之一死钥匙 http en wikipedia org wiki Dead key后面跟着一个字母 它将它们组合成相应的字符 例如 输入 a会导致 and o结果是 etc 我似乎无法让我的正
  • 如何使用 ipywidgets 创建动态依赖下拉菜单?

    我创建了一个带有两个下拉菜单的表单 我的目标是使一个下拉列表依赖于另一个下拉列表 这张图说明了我的目标和目前的情况 https i stack imgur com o9k5G png 下面的示例代码可以在 Google Colab 或 Ju
  • 如何解决CDK CLI版本不匹配的问题

    我收到以下错误 此 CDK CLI 与您的应用程序使用的 CDK 库不兼容 请将CLI升级到最新版本 云程序集架构版本不匹配 支持的最大架构版本为 8 0 0 但发现为 9 0 0 发出后cdk diff命令 我确实跑了npm instal
  • 如何在python mechanize中设置cookie

    向服务器发送请求后 br open http xxxx br select form nr 0 br form MESSAGE 1 2 3 4 5 br submit 我得到了响应标题 其中包含 set cookie Set Cookie
  • 多个列表和大小的所有可能排列

    在 python 中使用以下命令很容易计算简单的排列itertools permutations https docs python org 3 library itertools html itertools permutations 你
  • 如何使用 numpy 从一维数组创建对角矩阵?

    我正在使用 Python 和 numpy 来做线性代数 我表演了numpy对矩阵进行 SVD 以获得矩阵 U i 和 V 然而 i 矩阵表示为 1 行的 1x4 矩阵 IE 12 22151125 4 92815942 2 06380839
  • Python 可选参数对

    我正在使用argparse模块获取两个可选的命令行参数 parser add argument start date nargs metavar START DATE help start date in YYYY MM DD parser
  • TypeError:“NoneType”对象不可下标[重复]

    这个问题在这里已经有答案了 错误 names curfetchone 0 TypeError NoneType object is not subscriptable 我尝试检查缩进 但仍然有错误 我读到 如果数据库中没有文件名记录 变量名
  • 如何在python中访问矩阵每个元素的相邻单元格?

    这里 如果两个单元共享边界 则它们被认为是相邻的 例如 A 5 6 4 2 1 3 7 9 8 这里 索引 0 0 的相邻元素位于索引 0 1 和 1 0 处 索引 1 1 的相邻元素位于索引 0 1 1 0 2 1 处 和 1 2 假设你
  • 安塞布尔 + 10.11.6

    我在 非常 干净地安装 10 11 6 时遇到了 Ansible 的奇怪问题 我已经安装了brew zsh oh my zsh Lil snitch 和1password 实际上没有安装其他任何东西 我安装了ansible brew ins
  • 如何在自定义 django 命令中抽象出命令代码

    我正在我的应用程序下编写自定义 django 命令management commands目录 目前我在该目录中有 6 个不同的文件 每个文件都有不同的命令来解决独特的需求 然而 有一些实用程序是它们所共有的 抽象出这些公共代码的最佳方法是什
  • scikit-learn kmeans 聚类的初始质心

    如果我已经有一个可以作为初始质心的 numpy 数组 我该如何正确初始化 kmeans 算法 我正在使用 scikit learn Kmeans 类 这个帖子 具有选定初始中心的 k 均值 https stackoverflow com q
  • gnuplot:第 1 行:无效命令

    stackoverflow 上可爱的人们大家好 我正在尝试使用 gnuplot 绘制数据 我首先阅读表格并提取我想要的数据 我将此数据写入 dat 文件 截至目前 我只是尝试通过命令行绘制它 但会添加必要的代码以在 python 脚本工作后
  • 如何从Python枚举类中获取所有值?

    我正在使用 Enum4 库创建一个枚举类 如下所示 class Color Enum RED 1 BLUE 2 我要打印 1 2 作为某处的列表 我怎样才能实现这个目标 您可以执行以下操作 e value for e in Color
  • 使用 python/scipy 进行 voronoi 和 lloyd 松弛

    如何使用 Qhull 确定哪些 voronoi 单元 按索引 是 正确的 由 现有顶点 组成 我正在尝试使用 LLoyds 算法和 scipy spatial Voronoi 它是 Qhull 的包装器 生成的输入来执行约束松弛 就代码而言

随机推荐

  • 使用 Bouncy Castle 在 Java 中创建自定义 X509 v3 扩展

    我已成功使用 Bouncy Castle 中的 X509v3CertificateBuilder Java 类创建具有标准 V3 扩展的 X509 证书 我现在正在尝试创建具有自定义扩展的证书 我可以使用 addExtension 方法创建
  • C 中 x64 的 128 位算术

    在 x86 上实现 bignum 时 显然数字大小最有效的选择是 32 位 但是 您需要进行最多两倍数字大小的算术运算 即 32 32 33 32 32 64 64 32 32 幸运的是 x86 不仅提供了这一点 而且还可以通过可移植的 C
  • df.fillna(0) 命令不会将 NaN 值替换为 0

    我试图将下面代码中生成的 NaN 值替换为 0 我不明白下面的内容不起作用 它仍然保留 NaN 值 df pubs pd read sql select Conference Year count as totalPubs from pub
  • 如何在 Rails 6 中跳过现有项目的活动记录

    我有一个现有的 Rails 项目 它是在 API 模式下创建的 不使用数据库 在尝试部署到 Heroku 时 我收到许多与 ActiveRecord 相关的错误 gt Detecting rake tasks Could not detec
  • 强制改变方向

    我有一个基于选项卡的应用程序 其中一个选项卡在纵向和横向模式下都可用 所有其他选项卡仅在纵向模式下可用 我正在检查是否允许在 shouldAutorotateToInterfaceOrientation 中旋转的按钮 但是当我处于横向模式时
  • C:两个void指针的区别是什么类型?

    如果我减去两个空指针 我就会得到指针位置之间的相对距离 至少在我的测试系统上 我应该使用什么类型来存储结果 以便与 64 位系统兼容 size t 是正确的类型还是很长 背景 我们需要检查给定的 void 指针是否可以安全地用作双指针 我们
  • Java在空行后停止读取

    我正在做学校练习 但我不知道如何做一件事 据我所读 扫描仪不是最好的方法 但由于老师只使用扫描仪 所以必须使用扫描仪来完成 这就是问题 用户将文本输入到数组中 该数组最多可包含 10 行 并且用户输入以空行结束 我已经这样做了 String
  • Java中的序列化版本uid

    序列化id如何存储在对象的实例中 我们在Java中声明的Serialization id是静态字段 而静态字段是不会被序列化的 那么应该有某种方法来存储静态最终字段 java是怎么做到的呢 The 序列号版本UID不存储在 序列化 对象的实
  • 使用 ggplot2 在分割小提琴图上叠加散点

    我跟着this在 2x2 设计中生成分割小提琴图的好答案 现在想象一下这些数据来自不同受试者的重复测量 另外 我想在散点图中绘制各个数据 我知道该图最终可能会太忙 我想先看看它 我已经快到了 但是有一个小错误 可能很容易修复 我提供了一个完
  • 是否可以使用 LSP/SPI 拦截 dns 查询?

    我编写了自己的 LSP 运行良好 但是 我无法捕获 dns 查询 例如 没有像 WSPGetHostByName 或 WSPGetAddrInfo 这样的函数 我的 lsp 也支持 UDP 协议 但它不工作 如果我从控制台 cmd exe
  • 将项目从 vs2005 迁移到 vs2010 (MSTest) 后,无法在 UnitTest 中解析类型

    我们实际上正在分析如果我们将应用程序从 VS2005 迁移到 VS2010 我们需要做什么 我做了什么 我在 VS2010 中打开所有解决方案并让 vs 项目进行转换 目前生产程序集没有获得 NET Framework 的升级 它必须以框架
  • 如何在 Amazon 中使用 Selenium 和 Java 解决 org.openqa.selenium.ElementNotVisibleException

    package newpackage import java util List import java util concurrent TimeUnit import org openqa selenium By import org o
  • Send-MailMessage:无法验证参数“主题”的参数

    运行以下脚本时出现此错误 Send MailMessage 无法验证参数 主题 的参数 参数为 null 或为空 提供一个不为 null 或空的参数 然后重试该命令 电子邮件仍然发送成功并且主题显示正确 dir C Users user D
  • 即使值的数量不相同,如何将数据帧列中的唯一值放入数据帧中

    我有一个数据框数据 Data lt data frame A sample 1 7 B c 5 5 5 6 6 6 6 C c 1 2 2 3 3 4 5 A B C 1 6 5 1 2 7 5 2 3 4 5 2 4 2 6 3 5 1
  • 将 char* 转换为 std::string

    我需要使用一个std string存储检索到的数据fgets 为此 我需要转换char 返回值来自fgets 进入一个std string存储在数组中 如何才能做到这一点 std string有一个构造函数 const char s Hel
  • Objective-C 的 iostream 和 sstream

    我正在尝试将一些 C 代码移植到 Objective C 这包括iostream and sstream 但 Objective C 不识别这些 应该做什么 您可以使用iostream and sstream在 Objective C 中
  • 从数组创建字符串

    我在 PostgreSQL 中有一个表 其中包含 id name arrayofparents 1 First 2 Second 1 3 Second Sec 1 2 4 Third 1 2 3 5 Second A 1 6 Other 7
  • 通过 jQuery 设置显示属性 - 在 Chrome 中不起作用?

    我有以下问题 我有这个 jQuery 脚本 document ready function thead opening click function var is chrome navigator userAgent toLowerCase
  • MySQL OR 与 IN 性能

    我想知道以下之间的性能是否有任何差异 SELECT FROM WHERE someFIELD IN 1 2 3 4 SELECT FROM WHERE someFIELD between 0 AND 5 SELECT FROM WHERE
  • Python 正则表达式单词边界出现意外结果

    import re sstring ON Any ON Any regex1 re compile r bON bANY b re VERBOSE regex2 re compile r b ON b Any re VERBOSE rege