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

java - 替换java中的所有单词

我正在使用 java replaceAll() 方法来替换字符串中的匹配单词。在我的情况下,如果这个词在逗号 (,) 句号 (.) 或其他类似的东西旁边,这个词不会被替换。

例子:和。和,和;和(

这是代码:

谁能建议我一个能够识别该字符串中所有单词的正则表达式?

0 投票
0 回答
76 浏览

javascript - Dreamweaver 中的字边界 (\b) 元字符错误

我是编程语言和正则表达式的新手。目前我正在使用 Dreamweaver CS6,并且正在使用它的查找和替换工具进行练习。当我使用正则表达式时

它不仅匹配由 4 个或更多字母组成的任何单词的前 4 个字母,还匹配具有超过 8 个字母的单词中的任何其他 4 个字母序列。

例如,在transparent它突出显示的单词中transpar

但是如果我使用正则表达式

它可以正常工作,并且只处理由 4 个或更多字母组成的任何单词的最后 4 个字母。例如,在透明高亮一词中只显示租金。

如果我没记错的话,Dreamweaver 使用了 javascript regex 风格。这是一个错误还是我做错了什么?

0 投票
2 回答
1965 浏览

python - 如何在 pandas str.contains 中使用 \b 单词边界?

使用 str.contains 时是否有等价物?

由于“Sa”,以下代码错误地将“Said Business School”列在类别中。如果我可以创建一个单词边界,它将解决问题。在搞砸之后放一个空格。我正在使用熊猫,它们是 dfs。我知道我可以使用正则表达式,但只是好奇我是否可以使用字符串来使其更快

0 投票
1 回答
1398 浏览

ruby - 如何匹配单词边界“或”[@#]?

我似乎无法获得与 hashtag #、 an@或 word-boundary 匹配的正则表达式。目标是将字符串分解为类似 Twitter 的实体和主题,因此:

要获得单词,不包括"anotherString"太大的单词,很简单:

将返回["Hello", "world", "ruby"]。不幸的是,这不包括主题标签和@s。它似乎应该简单地与:

但这会返回["@world", "#ruby"]。这让我意识到单词边界不是根据定义的字符,因此它们不属于“单个字符”的类别,因此不会匹配。更多尝试:

返回["", "", "@world", "", "#ruby", "", "", ""]

匹配正确的东西,但[[""], ["@"], ["#"], [""]]按预期返回,因为大括号也意味着捕获包含的所有内容。

种作品。它返回[["Hello", ""], ["@world", "@"], ["#ruby", "#"]]。所以现在所有正确的项目都在那里,它们只是位于每个子数组的第一个元素处。以下代码段在技术上有效:

是否可以简化这一点以仅使用不需要collect后处理的正则表达式匹配并返回正确的子字符串?

0 投票
2 回答
1038 浏览

java - 正则表达式匹配重复两次的单词(即 hello hello hello)

我的 CS2 讲师给出了一个 java 正则表达式,用于检查单词是否重复:

如何修改它以检查一个单词是否在“hello hello hello”或“hello world hello hello”中重复两次

如果可能的话,我只想指出正确的方向,而不是一个彻底的解决方案(毕竟,我需要学习这个)。我认为我的问题是我不太了解单词边界。

0 投票
2 回答
2242 浏览

regex - 单词边界或非数字上的正则表达式匹配

我正在尝试使用 Regex 模式(在 Java 中)来查找 3 位数字的序列,并且连续只有 3 位数字。4位不匹配,2位不匹配。

对我来说明显的模式是:

这与许多源字符串案例相匹配,例如:

但它不会与“abc123def”的源字符串匹配,因为 c/1 边界和 3/d 边界不算作 \b 类所期望的“单词边界”匹配。

我本来希望解决方案是添加一个包含非数字 (\D) 和单词边界 (\b) 的字符类。但这似乎是非法的语法。

有谁知道我可以使用什么表达式来为源字符串情况提取“123”,例如:

我会很感激任何帮助。是的,我意识到在 Java 中必须将 \b 之类的代码双重转义为 \b,但这不是我的问题,我不想将其限制为 Java 人员。

0 投票
3 回答
18425 浏览

javascript - Javascript - 正则表达式 - 字边界 (\b) 问题

\b在正则表达式中使用和希腊字符有困难。

此示例 [a-zA-ZΆΈ-ώἀ-ῼ]*中成功标记了我想要的所有单词(希腊语和英语)。现在考虑我想找到有 2 个字母的单词。对于英语,我使用如下内容: \b[a-zA-Z]{2}\b . 你能帮我写一个成功用 2 个字母标记希腊语单词的正则表达式吗?(为什么?我的最终目标是删除它们)。

使用的文字:

Greek MONOTONIC: Το γάρ ούν και παρ' υμίν λεγόμενον, ώς ποτε Φαέθων Ηλίου παίς το του πατρός άρμα ζεύξας δια το μή δυνατός είναι κατά την του πατρός οδόν ελαύνειν τα τ' επί της γής ξυνέκαυσε και αυτός κεραυνωθείς διεφθάρη, τούτο μύθου μέν σχήμα έχον λέγεται, το δέ αληθές εστι των περί γήν και κατ' ουρανόν ιόντπων παράλλαξίις και διά μακρόν χρόνον γιγνομένη των επί γής πυρ.

Greek POLYTONIC: Τὸ γὰρ οὖν καὶ παρ' ὑμῖν λεγόμενον, ὥς ποτε Φαέθων Ἡλίου παῖς τὸ τοῦ πατρὸς ἅρμα ζεύξας διὰ τὸ μὴ δυνατὸς εἶναι κατὰ τὴν τοῦ πατρὸς ὁδὸν ἐλαύνειν τὰ τ' ἐπὶ τῆς γῆς ξυνέκαυσε καὶ αὐτὸς κεραυνωθεὶς διεφθάρη, τοῦτο μύθου μὲν σχῆμα ἔχον λέγεται,τὸδὲΔὲληθέςἐστιτῶνπερὶγγῆγῆγκαὶκαὶκατ'othimὐρανὸόνὸόντωνπαρ似λλλαξιαξιςαξιςα取ch

英语:事实上,在你们国家和我们国家都在讲述的故事,曾几何时,赫利俄斯的儿子法厄同如何驾驭他父亲的战车,因为他无法驾驶它沿着他父亲的路线行驶, 烧毁了地球上的一切,他自己也被雷击灭亡——这个故事,正如它所讲述的那样,具有传奇色彩,但它的真实性在于天体发生了移动它们在地球周围移动,并用猛烈的火焰摧毁地球上的事物,这种火焰会在很长一段时间内重复发生。

到目前为止我已经尝试过:

在这里向我的问题提出了 2 和 3:Javascript - regex - how to remove words with specified length

编辑

另请阅读:

0 投票
1 回答
110 浏览

regex - 在正则表达式中使用超过字长的字边界进行负前瞻

抱歉,如果该标题不能完全解释我的问题。昨天有人好心指出如何从这里到达:

这给了我这样的结果

  • 街道:他开车

通过使用单词边界:

?(?!The|Long)\b\w+ 驱动器)

这就像一个魅力(STREET 返回不匹配'The Street')但是我现在面临的问题是,虽然我正在寻找'Drive'的 1 个单词前缀并且我有 1 个单词排除项,但我无法弄清楚如何使排除时间更长。例如

  • 英里驱动器

很好但是

  • 一英里驱动器
  • 快速英里驱动器

不是。这实际上只是一个例子,而不是试图解决这个特定的例子;如何从模式的单个单词部分中排除术语与单词。

0 投票
5 回答
76 浏览

php - 如果值包含在黑名单 id 数组中找到的 id 子字符串,则过滤文件路径数组

如果数组 2 中的任何元素包含数组 1 中的任何元素,我想删除它。根据我的研究,我发现 array_filter 可能是要使用的元素,但我对如何执行此操作感到困惑。然后我需要重置数组键。任何人都可以提出一种方法吗?

例如,任何包含“123998”的元素都将从数组 2 中删除。“1239986”不会被删除。

阵列 1

阵列 2

0 投票
1 回答
37 浏览

regex - 更改字边界

我目前有以下内容:

$concatenated_variables包含由 a 分隔的变量名称|

\b($concatenated_variables)\b这工作正常,除了,如果找到的匹配项之前已经有一个,我不希望发生替换$

例如:

$concatenated_variables = count|a|var3

$_[0] = for count in range(3): print count; print "hello"; ++a

如果我使用:

我得到:

而我应该得到:

有没有办法做到这一点?

谢谢你的帮助。