正则表达式 - 匹配共享空格的单词

3
如何在句子中匹配指定单词? 如果我有句子“指环王”,想去掉“的”和“the”,我该如何编写正则表达式?
我不希望它匹配例如“don't match them”或“don't match often” 中的任何内容。当“the”或“of”在行的开头或结尾时,它应该匹配。
我遇到的问题是当单词像“lord of the rings”中那样相互跟随时。当它们共享一个空格时。
我能做到最好的是像这样的东西:
/^(the|of) | (the|of)$| (of|the) /gmi

但是它并不能解决我所有的问题。

该死!我正要在@WiktorStribiżew这里发帖:D - Muhammad Omer Aslam
2
\b(of|the)\b怎么样? - Gary
单词边界更好。 - Muhammad Omer Aslam
“of” 不太可能出现在字符串开头或标点符号旁边,“the”应该在类似的上下文中出现,但可以出现在字符串开头。因此,在这里,/(?:^|\s+)(?:of|the)(?!\S)/gi 看起来是可行的,但当 “The” 出现在开头时,仍需要从空格处修剪字符串。 - Wiktor Stribiżew
我们两个中,谁将把他的评论变成答案呢?@WiktorStribiżew - revo
\b(of|the)\b 很好用。如果我需要添加更多的单词,它易于阅读和扩展。如果您将此作为答案发布,我会接受它。@Gary - Jimmy Garpehäll
3个回答

2

这是一个完美的单词边界任务。

\b(of|the)\b

1

0

/(of\s.*the\s)/gmi 可以工作吗?还是我误解了你的意图? 这将在你的句子中找到第一个“of”到最后一个“the”之间的所有内容。


这并不是我想要的。如果我的帖子不清楚,对不起,但我希望它匹配,即使“of”和“the”没有按照那个确切的顺序出现。 - Jimmy Garpehäll

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接