gpt4 book ai didi

Python正则表达式查找匹配: word + whitespace + word的序列

转载 作者:行者123 更新时间:2023-12-01 00:58:42 26 4
gpt4 key购买 nike

我不熟悉使用正则表达式,并且一直在尝试找出一种选择列表中包含两个由空格分隔的单词的元素的方法。

我有以下虚拟列表:['单词 <= 0.02', 'word_one <= 0.04', '单词二 <= 0.01']

我只希望元素 3 匹配('单词二 <= 0.01')

我尝试过使用:\b\w+(?=\s)\b ,我从堆栈溢出的其他相关问题中剪掉了一些片段来查找。我知道这不起作用,因为第二个单词后面(<=之前)有空格,但是我只是想弄清楚如何修复它。

这是我的代码示例:

example_list = ['word <= 0.02', 'word_one <= 0.04', 'word two <= 0.01']

new_list = []

regex = '\b\w+(?=\s)\b'

for i in example_list:
if re.match(regex, i):
new_list.append(i)

print(new_list)

最佳答案

要匹配以 1 个以上单词字符开头,然后是 1 个以上空格,然后又是一个单词字符开头的字符串,您可以使用

import re
example_list = ['word <= 0.02', 'word_one <= 0.04', 'word two <= 0.01']
new_list = []
regex = r'\w+\s+\w+\b'
for i in example_list:
if re.match(regex, i):
new_list.append(i)
print(new_list)
# => ['word two <= 0.01']

请参阅Python demo .

注意 re.match 已经将匹配锚定在字符串的开头,因此上面的正则表达式中没有 ^ 。此外,当您使用常规字符串文字时,模式中的 \b 是退格字符,而不是单词边界模式。

如果您需要匹配字符串中任意位置包含单词字符 + 空格 + 单词字符的字符串,请将 re.match 替换为 re.search 并您甚至可以使用r'\w\s+\w'。或者,如果您确实需要检查单词边界,请r'\b\w+\s+\w+\b'

关于Python正则表达式查找匹配: word + whitespace + word的序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56006511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com