问题标签 [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.
objective-c - 正则表达式中的 \b 与 \\b
正如我在正则表达式文档中看到的那样 \b 匹配单词边界。准备带子
“db bd 如何”
和正则表达式
\b(a|b)(c|d)\b
我认为在运行正则表达式时,它应该匹配字符串中的“bd”,但事实并非如此。
但如果正则表达式是
\\b(a|b)(c|d)\\b
它匹配。
你能解释一下区别吗?
javascript - 是否存在与 Vim 正则表达式开头和结尾的单词原子“\<”和“\>”等效的 JavaScript?
我知道大多数正则表达式引擎,包括 JavaScript 中的引擎,都\b
必须匹配单词边界,无论是在单词的开头还是结尾。
但 Vim 还有两个更具体的正则表达式原子:
JavaScript 是否具有这些原子的等价物,如果没有,是否有办法以其他方式表达它们更精确的语义?
regex - 正则表达式允许带有前瞻和“。”的单词边界。
我有字符串:
目前我正在使用正则表达式[[:<:]]Outer.Middle[[:>:]]
尝试仅匹配字符串#2。但是,由于幼稚的边界,这与字符串 #1 和 #2 都匹配。
我试图做某种前瞻,例如[[:<:]]Outer.Middle(?!.)[[:>:]]
,但这是完全错误的。
正则表达式是必要的,因为我正在使用 PostgreSQL 并查询包含在文本正文中的类名。
任何解决方案或解决方案的指导都将受到高度赞赏。
php - 正则表达式词边界替代
我使用的是标准\b
单词边界。但是,它并不能完全按照我想要的方式处理点 (.) 字符。
所以下面的正则表达式:
\b(\w+)\b
如果我cats
有一个字符串表示dogs
.cats.dog
cats and dogs don't make cats.dogs
我需要一个单词边界替代方案,它仅在以下情况下匹配整个单词:
- 它不包含点 (.) 字符
- 它由每侧至少一个空格()字符封装
有任何想法吗?!
PS我需要这个用于PHP
php - MongoDB RegEx 引擎完整性
根据 Mongo 文档,它使用 PCRE 引擎,并且 PCRE 支持 \b 和 \w 用于 unicode 字符,但遵循 RegEx 与 Unicode 字符串不匹配,是否有任何解决方案或替代语法?
java - 拒绝前导/结束非字母数字字符的单词边界
现在我正在学习 Java 上的正则表达式,我对单词边界有疑问。因此,当我在 Java 正则表达式上查找单词边界时,我得到了这个 \b 接受以非单词字符为边界的单词,所以这个正则表达式
\b123\b
将接受这个字符串123 456
但会拒绝456123456
。现在我发现像这个词这样的条件!$@#@%123^^%$#
还是"123"
被上面的正则表达式接受了。是否有任何单词边界/模式拒绝像上面的示例那样以非字母数字(空格除外)为边界的单词?
php - PHP中的单词边界
在 PHP中,字母前后的变音符号构成单词边界 ( )\b
,这不是所需的行为。在其他编程语言中是否正常?(我知道大多数语言都存在\b
和问题\w
)我应该如何有效地解决这个问题?
从 Unicode 的角度来看,哪些 Unicode 类别构成了单词边界?
这是一个例子:
regex - 标记非间距 (MNS) Unicode 类别和 \b
在 PCRE non-spacing mark characters
中导致字边界。结果Åström
字符串有 2 个\b
位置,Åström
(分解的字符)有 6 个\b
位置。这是预期的行为还是不正确的实现?
python - 行尾的点和字边界
我有这个正则表达式:
匹配的
- 美国广播公司
- 美国广播公司
- abc 的东西
- ...
我按重要性顺序使用了 2 次:首先我尝试^
在行首和$
行尾添加,因为我想找到一个与上述情况完全相同的字符串。如果什么也没找到,约束被删除,我接受了类似的字符串
- 富 abc 富
- 废话 abc 废话
问题是在第一种情况a.b.c.
下\b
与$
. 所以如果我使用
简单a.b.c.
的不匹配,因为圆括号中的部分被“忽略”并且\b
靠近的部分$
具有我无法理解的行为。另一方面a.b.c
(没有最后一个点)将匹配
如果我在一切正常的情况下更改第二个\b
,\W
但我不确定我是否会匹配其他不需要的字符串。关于如何仅使用一个正则表达式解决此问题的任何想法?
如果这可能相关,我正在使用 Python
java - java \bword\B 中的正则表达式哪个元字符获胜?
我知道它的\bword\B
行为就像word\B
在 Java 中使用正则表达式。(就匹配引擎而言)
为什么会有可能?如果它是 en 异常(语法异常)不是更合理吗?此外,本教程中的 oracle 也使用它作为解释性示例 ( \bdog\B
)。如果您不知道答案,请随意不回复。提前致谢。