问题标签 [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 回答
99915 浏览

r - 如何使用 grep()/gsub() 查找完全匹配

这会给我所有三个元素的索引string。但我想要一个完全匹配的单词“apple”(即我只想grep()返回索引 1)。

0 投票
2 回答
63 浏览

java - JAVA REGEX :: 你能解释一下吗?

我的模式是[a-z][\\*\\+\\-_\\.\\,\\|\\s]?\\b

我的结果:

a__
不匹配
a_。
模式匹配 = a_
a._
模式匹配 = a。
a..
模式匹配 = a

为什么我的第一个输入单独不匹配???提前致谢。

[ PS:得到相同的结果 [az][\\*\\+\\-\\_\\.\\,\\|\\s]?\\b ]

0 投票
0 回答
189 浏览

javascript - 单词边界转义序列“\ b”是否有支持 unicode 的替代方案?

我对 JavaScript 单词边界转义序列“\b”的支持 Unicode 的替代方案感兴趣。\b 的问题在于它仅限于 ASCII 字符,对于像“Münster”这样的单词会失败。我不是在寻找对所有语言都有效的通用解决方案。我只针对基于拉丁语的语言(例如英语、德语、法语等)。我想知道是否有基于 Unicode 字符类别的东西(见这里

0 投票
1 回答
106 浏览

regex - vimscript 匹配将 \V 与单词边界相结合

我有一个问题,我想在 match 函数中结合 \V 和单词边界,如下所示:

以下作品完美:

有谁知道如何将这两件事结合起来?

0 投票
2 回答
5159 浏览

regex - 使用 Bash 正则表达式匹配单词边界

我想在 bash 中匹配以下表达式:

^.*(\b((720p)|(1080p)|(((br)|(hd)|(bd)|(web)|(dvd))rip)|((x|h)264)|(DVDscr)|(xvid)|(hdtv)|(ac3)|(s[0-9]{2}e[0-9]{2})|(avi)|(mp4)|(mkv)|(eztv)|(YIFY))\b).*$

我真的只想知道测试的字符串中的一个单词是否是这个正则表达式中描述的单词之一(720p, 1080p, brrip, ...)。边界一词似乎存在问题。

我使用的测试是[[ $name =~ $re ]] && echo "yes"where$name是任何字符串,并且$re是我的正则表达式。

我错过了什么?

0 投票
2 回答
91 浏览

bash - grep-为什么必须在反向引用周围有单词边界?

我只是好奇为什么 grep 以这种方式匹配事物。

例如,假设我正在尝试查找在一个句子中出现两次的单词(而不是作为其他单词的一部分)。所以我试图找到如下行:

而不是像下面这样:

那么为什么以下 grep 表达式有效:

而不是以下内容:

我原以为第二个会起作用,因为单词边界(\< 和 \>)在第二个匹配的括号内,但事实并非如此。必须在反向引用周围设置单词边界似乎相当令人困惑,有人可以解释为什么 grep 以这种方式匹配行,或者可能进一步详细说明这个想法吗?

0 投票
1 回答
527 浏览

regex - 正则表达式中的 \b 和 \>、\< 有什么区别?

现在,我很困惑。

我在正则表达式备忘单中找到了这个

但是在“掌握正则表达式”一书中,它告诉我

\b正则表达式和正则表达式有什么区别\> \<

0 投票
2 回答
137 浏览

java - 使用 \b 进行 Java 正则表达式排序

与 word-boundary 结合使用时,我遇到了 Java Regex 的一个奇怪问题\b。通读Oracle - RegexBoundsRegularExpressions - WordBoundaries

下面是我的正则表达式(Java 字符串)(用于电子邮件地址)

此正则表达式匹配电子邮件test$@example.com但不匹配$test@example.com

但是,当我删除\b(Java String \\b) 时,它与这两个电子邮件匹配。正则表达式中的所有特殊字符都是这种情况。

\b正则表达式的排序发生了什么?我虽然[A-Z0-9._!#$%&'*+-/=?^`{}|~]+应该以任何顺序匹配文本,而不管\b

代码片段:

在这个问题之后,我将正则表达式验证移至apache-commons EmailValidator。但仍然很好奇为什么会出现这种奇怪的行为。

我浏览了许多有关 问题的 stackoverflow 主题\b,但找不到相关的主题。

0 投票
1 回答
1958 浏览

android - 如何在 Sqlite Android 中实现字边界?

我想实现以下(全文搜索),

我只对全文列中的确切字符串(而不仅仅是单词)感兴趣。

我一直在 MySQL 中使用上面的确切 SQL,现在将大部分代码迁移到 android 应用程序。

但我一直在查看各种帖子,其中提到 Android Sqlite 不支持 REGEXP(例如:link1link2link3)。

有没有办法在 Android 中启用 REGEXP?

如果没有,上述 SQL 是否有任何替代方案?

谢谢,

编辑: 目前我在 Android 中使用 REGEXP 时收到以下异常,

我知道我们可以使用 GLOB 和 LIKE (甚至可能是 MATCH )。如何columnname REGEXP '[[:<:]]somestring[[:>:]]'转换为使用GLOB和/或LIKE和/或MATCH

解决方案 1:在@cybersam的帮助下,我正在使用以下内容(经过一些修改)

GLOB是区分大小写的,所以我有一个额外的OR

@cybersam的第二种解决方案在我的情况下要快得多。

解决方案2:处理不区分大小写

0 投票
2 回答
698 浏览

php - 单词边界 preg_replace

我想捕获任何与 %[a-z0-9] 匹配的字符串,遵循以下示例:

它可以在字符串的开头或结尾,但不能在单词的中间。它当然可以在字符串中作为单词(以空格分隔)。

我努力了

和其他人喜欢这样,但我不能让它像我一样工作。我猜 \b 标记在示例 2 中不起作用,因为 % 符号之前有一个边界。

任何帮助将不胜感激。