正则表达式单词边界末端和边缘之间的差异

2023-11-30

R 帮助文件regex says

符号 \ 分别匹配空字符串 单词的开头和结尾。符号 \b 匹配空字符串 单词的边缘

(单词的)末端和边缘有什么区别?


之间的区别\b and \< / \>就是它\b可以在 PCRE 正则表达式模式中使用(当您指定perl=TRUE) 和 ICU 正则表达式模式 (stringr包裹)。

> s = "no where nowhere"
> sub("\\<no\\>", "", s)
[1] " where nowhere"
> sub("\\<no\\>", "", s, perl=T) ## \> and \< do not work with PCRE
[1] "no where nowhere"
> sub("\\bno\\b", "", s, perl=T) ## \b works with PCRE
[1] " where nowhere"

> library(stringr)
> str_replace(s, "\\bno\\b", "")
[1] " where nowhere"
> str_replace(s, "\\<no\\>", "")
[1] "no where nowhere"

优点\<(始终代表单词的开头)和\>(始终匹配单词的结尾)的优点是它们是明确的。这\b可以匹配两个位置。

还有一件事需要考虑(refrence):

gsub 和 gregexpr 的 POSIX 1003.2 模式在处理重复的字边界时无法正常工作(例如,pattern = "\b"). Use perl = TRUE对于此类匹配(但对于非 ASCII 输入可能无法按预期工作,因为“单词”的含义取决于系统)。

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

正则表达式单词边界末端和边缘之间的差异 的相关文章

  • 哪些字符可以用作正则表达式分隔符?

    哪些字符可以用作 Perl 正则表达式的分隔符 m re m re and m re 一切似乎都有效 但我想知道所有可能性 From perlop http perldoc perl org perlop html 通过 m 您可以使用任意
  • 使用正则表达式验证字符串是否安全

    我有一个网站 用户可以在其中选择用户名 目前 他们可以输入几乎任何字符 包括 ETC 我知道我可以使用正则表达式 这可能就是我的选择 我将使用否定集 我认为这是正确的工具 如下所示 那么 我怎样才能知道要放入该集合中的所有非法字符呢 我可以
  • 通过单击堆叠条形图打开选项卡

    我正在使用 R 构建一个包含转发的堆积条形图 ggplot and plotly 如果单击条形图的一部分 我希望打开一个新的浏览器选项卡并显示该特定日期的推文以及指定的转发量 但是 当我单击下面示例中的其中一个栏时 会打开一个不同的链接 表
  • 音乐和弦部分拆分正则表达式

    这是此问题的后续问题 用于匹配音乐和弦的正则表达式 https stackoverflow com questions 11229080 regex for matching a music chord 是我问的 现在我有一个正则表达式来知
  • URL 的正则表达式

    我已经编写了正则表达式来验证 URL 它可以是这样的 example com www example com http www example com http www example com https www example com h
  • 使用 data() 的 R 包命名空间问题 -- 找不到数据集

    我在尝试在我自己的包中导入包 即 robfilter 时遇到了问题 我尝试使用它的方法之一 adore filter 在这一行失败 data critvals 出现错误 未找到数据集 critvals 如果我通过 require robfi
  • 从文件中删除包含非英语 (Ascii) 字符的行

    我有一个文本文件 其中包含来自不同语言的字符 例如 中文 拉丁文等 我想删除包含这些非英语字符的所有行 我想包含所有英文字符 a b 数字 0 9 和所有标点符号 我如何使用 awk 或 sed 等 unix 工具来完成此操作 Perl 支
  • 在 R 的 stargazer 表中设置注释格式

    我在用stargazer包来生成 回归输出 表 一切都在奇迹般地进行 直到我开始编辑笔记 First 换行很难 但是 Bryansuggests https stackoverflow com questions 21720264 star
  • R中的引用调用(使用函数修改对象)

    我刚刚接触 R 很惊讶地发现函数不会修改对象 至少看起来这是默认的 例如 我编写了一个函数 只是为了在表格中的一个标签上粘贴一个星号 它在函数内部工作 但表本身没有改变 我主要来自Ruby 那么 在 R 中使用函数更改对象的正常 可接受的方
  • R 中的金字塔图

    对于示例数据集 我按国家 地区创建了一个金字塔图 显示人口中男性和女性超重的水平 library plotrix xy males overweight lt c 23 2 33 5 43 6 33 6 43 5 43 5 43 9 33
  • 如何从 pandas 数据框中包含文本的列中提取年份(或日期时间)

    假设我有一个 pandas 数据框 Id Book 1 Harry Potter 1997 2 Of Mice and Men 1937 3 Babe Ruth Story The 1948 Drama 948 Babe Ruth Stor
  • 滚动最小值,固定起点[重复]

    这个问题在这里已经有答案了 好的 我想计算数据框中的滚动最小值 向下滚动列 到目前为止 我无法确定该系列的起点并滚动到结尾 我努力了 mins lt c 10 5 6 10 6 6 7 8 2 12 roll min expected lt
  • 三角形内的热图

    考虑以下示例 triangle lines lt data frame X c 0 0 1 1 0 5 0 5 Y c 0 0 0 0 1 1 grp c 1 2 1 3 2 3 df lt matrix c c 0 2 0 5 0 8 c
  • 替换字符以制作国际字母(变音符号)

    我正在尝试模仿国际键盘的工作方式 如果您使用其中之一死钥匙 http en wikipedia org wiki Dead key后面跟着一个字母 它将它们组合成相应的字符 例如 输入 a会导致 and o结果是 etc 我似乎无法让我的正
  • 将一个 Rmarkdown 文档中的代码块插入到另一个 Rmarkdown 文档中

    我一直在举办一些小型 R 教程 研讨会 我将 挑战脚本 保存在 Rmarkdown 文档中 它们包含自由文本和 R 代码块 一些代码块是预先填充的 例如 为了设置数据集以供以后使用 而一些代码块则供与会者在研讨会期间填写代码 对于每个挑战脚
  • 正则表达式匹配除括号中的单词之外的所有单词 - javascript

    我使用以下正则表达式来匹配所有单词 mystr replace W s g function match p1 index title 请注意 单词可以包含特殊字符 例如德语变音符号 如何匹配除括号内的单词之外的所有单词 如果我有以下字符串
  • 当 vbscript.regexp 工作时,VBA RegExp 会导致编译错误

    我正在为 Outlook 2013 的 VBA 编写一个脚本 它使用正则表达式 我发现的每个示例似乎都使用Set regex New RegExp创建一个正则表达式对象 当我尝试这个时 我得到了编译错误 用户定义类型未定义 我设法使用正则表
  • R data.table 中的复杂求和涉及查看其他列

    我有一个数据表 其中变量的每个值v1 and v2有一个关联的 类型 在单独的列中编码 这是一个 MWE X lt data table id 1 5 group c 1 1 2 2 2 v1 c 10 12 14 16 18 type v
  • 包含多行 LaTeX 方程的 R 帮助页面

    我正在编写 R 包文档roxygen2 我想将以下多行方程插入到帮助页面中 但我的 LaTeX 代码没有被渲染 hello2 description deqn F t begin cases alpha t f L t 1 alpha t
  • 如何创建具有特定于每个方面的标题和副标题的分面图?

    生成一个图 该图与每列的单独图相结合 带有标题和副标题 以及每个图的垂直线 我使用直方图创建了带有垂直线的列 library ggplot2 library gridExtra library tidyr actualIris lt dat

随机推荐