问题标签 [word-boundary]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5633 浏览

objective-c - 正则表达式中的 \b 与 \\b

正如我在正则表达式文档中看到的那样 \b 匹配单词边界。准备带子

“db bd 如何”

和正则表达式

\b(a|b)(c|d)\b

我认为在运行正则表达式时,它应该匹配字符串中的“bd”,但事实并非如此。

但如果正则表达式是

\\b(a|b)(c|d)\\b

它匹配。

你能解释一下区别吗?

0 投票
1 回答
275 浏览

javascript - 是否存在与 Vim 正则表达式开头和结尾的单词原子“\<”和“\>”等效的 JavaScript?

我知道大多数正则表达式引擎,包括 JavaScript 中的引擎,都\b必须匹配单词边界,无论是在单词的开头还是结尾。

但 Vim 还有两个更具体的正则表达式原子:

JavaScript 是否具有这些原子的等价物,如果没有,是否有办法以其他方式表达它们更精确的语义?

0 投票
1 回答
216 浏览

regex - 正则表达式允许带有前瞻和“。”的单词边界。

我有字符串:

目前我正在使用正则表达式[[:<:]]Outer.Middle[[:>:]]尝试仅匹配字符串#2。但是,由于幼稚的边界,这与字符串 #1 和 #2 都匹配。

我试图做某种前瞻,例如[[:<:]]Outer.Middle(?!.)[[:>:]],但这是完全错误的。

正则表达式是必要的,因为我正在使用 PostgreSQL 并查询包含在文本正文中的类名。

任何解决方案或解决方案的指导都将受到高度赞赏。

0 投票
2 回答
2845 浏览

php - 正则表达式词边界替代

我使用的是标准\b单词边界。但是,它并不能完全按照我想要的方式处理点 (.) 字符。

所以下面的正则表达式:

\b(\w+)\b

如果我cats有一个字符串表示dogs.cats.dogcats and dogs don't make cats.dogs

我需要一个单词边界替代方案,它仅在以下情况下匹配整个单词:

  1. 它不包含点 (.) 字符
  2. 它由每侧至少一个空格()字符封装

有任何想法吗?!

PS我需要这个用于PHP

0 投票
1 回答
587 浏览

php - MongoDB RegEx 引擎完整性

根据 Mongo 文档,它使用 PCRE 引擎,并且 PCRE 支持 \b 和 \w 用于 unicode 字符,但遵循 RegEx 与 Unicode 字符串不匹配,是否有任何解决方案或替代语法?

0 投票
2 回答
340 浏览

java - 拒绝前导/结束非字母数字字符的单词边界

现在我正在学习 Java 上的正则表达式,我对单词边界有疑问。因此,当我在 Java 正则表达式上查找单词边界时,我得到了这个 \b 接受以非单词字符为边界的单词,所以这个正则表达式 \b123\b 将接受这个字符串123 456但会拒绝456123456。现在我发现像这个词这样的条件!$@#@%123^^%$#还是"123"被上面的正则表达式接受了。是否有任何单词边界/模式拒绝像上面的示例那样以非字母数字(空格除外)为边界的单词?

0 投票
2 回答
150 浏览

php - PHP中的单词边界

在 PHP中,字母前后的变音符号构成单词边界 ( )\b,这不是所需的行为。在其他编程语言中是否正常?(我知道大多数语言都存在\b和问题\w)我应该如何有效地解决这个问题?

从 Unicode 的角度来看,哪些 Unicode 类别构成了单词边界?

这是一个例子:

0 投票
0 回答
431 浏览

regex - 标记非间距 (MNS) Unicode 类别和 \b

在 PCRE non-spacing mark characters中导致字边界。结果Åström字符串有 2 个\b位置,Åström(分解的字符)有 6 个\b位置。这是预期的行为还是不正确的实现?

0 投票
1 回答
1418 浏览

python - 行尾的点和字边界

我有这个正则表达式:

匹配的

  • 美国广播公司
  • 美国广播公司
  • abc 的东西
  • ...

我按重要性顺序使用了 2 次:首先我尝试^在行首和$行尾添加,因为我想找到一个与上述情况完全相同的字符串。如果什么也没找到,约束被删除,我接受了类似的字符串

  • 富 abc 富
  • 废话 abc 废话

问题是在第一种情况a.b.c.\b$. 所以如果我使用

简单a.b.c.的不匹配,因为圆括号中的部分被“忽略”并且\b靠近的部分$具有我无法理解的行为。另一方面a.b.c(没有最后一个点)将匹配

如果我在一切正常的情况下更改第二个\b\W但我不确定我是否会匹配其他不需要的字符串。关于如何仅使用一个正则表达式解决此问题的任何想法?

如果这可能相关,我正在使用 Python

0 投票
1 回答
161 浏览

java - java \bword\B 中的正则表达式哪个元字符获胜?

我知道它的\bword\B行为就像word\B在 Java 中使用正则表达式。(就匹配引擎而言)

为什么会有可能?如果它是 en 异常(语法异常)不是更合理吗?此外,本教程中的 oracle 也使用它作为解释性示例 ( \bdog\B)。如果您不知道答案,请随意不回复。提前致谢。