一个正则表达式,匹配字符串中第3个空格和第4个空格中间的字符

如:你好我好大家好你想我想我们都想我需要匹配“我想”,因为他在第3个空格后,第4个空格前,非常感谢我要一次搞定,不要到第几组那种方法非常感谢hbpaoxiao2提供的思路... 如:你好 我好 大家好 你想 我想 我们都想
我需要匹配“我想”,因为他在第3个空格后,第4个空格前,非常感谢
我要一次搞定,不要到第几组那种方法

非常感谢 hbpaoxiao2 提供的思路,但确实不行

有没有匹配第3个空格的语法
展开
 我来答
cnbubble
推荐于2018-05-15 · TA获得超过2607个赞
知道大有可为答主
回答量:1990
采纳率:83%
帮助的人:766万
展开全部
要是可以用awk更简单,
s="你好 我好 大家好 你想 我想 我们都想"
echo $s |awk '{print $5}'

只有.Net 中的 正则表达可以支持 逆序环视(反向断言)中长度不固定(可以使用*)。

如果你用的 语言中不支持,还不能使用分组,那完全没法做。

术有专攻,不要强求用正则做比较困难的事情
hbpaoxiao2
2015-07-23 · TA获得超过2898个赞
知道大有可为答主
回答量:1962
采纳率:72%
帮助的人:870万
展开全部
(?<=(\S+\s){3})(\S+)(?=\s)
试试这个。

失败,前置断言无法用重复元字符。
更多追问追答
追问
有没有匹配第3个空格的语法
追答
貌似没有,前面说法有误,后发断言只支持固定长度。
(?\S{5})\s这种是支持的

(?\s{5,})\s就不支持了。
你的要求是第3个空格,那之前的长度就无法确定了。
暂时没见过支持后发断言允许长度不固定的正则环境。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ly1427224330
2021-10-14
知道答主
回答量:2
采纳率:0%
帮助的人:1699
展开全部
(?<=(\S+\s+){3}).*(?=(\s+\S+){2})
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badming
2015-07-23 · TA获得超过166个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:170万
展开全部
.*\s.+\s.+\s(.*)\s
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式