You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python正则表达式问题:筛选首词≥3字符后接两个单字符词的字符串

正则匹配修正方案

问题根源

你当前的正则表达式没有锚定字符串开头,它会匹配字符串中任意位置存在的“长单词+两个单字符单词”片段。比如apple wrong a b c里的wrong a b就符合\w{3,}\s\w\s\w的模式,所以被错误判定为匹配项,不符合你“以长单词开头”的核心需求。

修正后的正则表达式

要精准匹配“以3个及以上字符的单词开头,紧随两个单字符单词,后续内容不限”的字符串,必须用^锚定字符串起始位置,确保匹配从开头开始:

pattern = r'^\w{3,}\s\w\s\w.*'

验证代码

替换正则后的完整测试代码:

import pandas as pd

df = pd.DataFrame({'text': ['apple wrong', 'apple wrong b c','apple a b correct', 'apple a b c correct']})
pattern = r'^\w{3,}\s\w\s\w.*'
matches = df['text'].str.contains(pattern, regex=True)
result = df[matches]
print(result)

运行后会只输出符合要求的两条数据:

text
2  apple a b correct
3 apple a b c correct

内容的提问来源于stack exchange,提问作者EnesZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 22:14:54