我是一个初学者,在这方面花了相当多的时间。我部分地解决了这个问题。你知道吗
问题:我想忽略所有具有the
或The
的单词。例如atheist, others, The, the
将被排除在外。但是,不应该包括hottie
,因为the
不是作为一个整体出现在单词内部。你知道吗
我使用的是Python的re
引擎。你知道吗
这是我的正则表达式:
\b - Start at word boundary
(?! - Negative lookahead to avoid starting with the or The
[t|T]he - the and The
)
\w+ - Other letters are fine
(?<! - Negative look behind
[t|T]he - the or The shouldn't occur before \w+
)
\b - Word boundary
给定输入的预期输出:
Input: Atheist Others Their Hello the The bathe hottie tahaie theater
Expected Output: Hello hottie tahaie
正如人们在regex101中所看到的,除了atheist
这样的词之外,我可以排除大多数词——即the or The
出现在词中的情况。我在SO上搜索了这个,发现了一些线程,比如How to exclude specific string using regex in Python?,但它们似乎与我要做的事情没有直接关系。你知道吗
任何帮助都将不胜感激。你知道吗
请注意,我只对使用regex解决这个问题感兴趣。我不是在寻找使用python的字符串操作的解决方案。你知道吗
该方法比原始正则表达式更简单:
我们匹配一个单词,但要确保单词中没有
the
,使用“填充的”负向前看。您最初的方法只允许在单词的前面或后面使用the
,因为它不允许在单词边界之后/之前使用填充。你知道吗(?![tT]he)
只匹配当前位置的,而(?:\w*[tT]he)
允许匹配从当前位置扩展,因为\w*
可以用作填充符。你知道吗相关问题 更多 >
编程相关推荐