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

正则表达式匹配行尾大写M的问题求助

解决思路:匹配行尾大写M的正则方法

首先得纠正一个关键误区:你用的[^M]其实是匹配任何不是大写M的字符,这和你想要匹配M的需求完全相反,所以肯定不会生效啦😉

下面给你几种针对不同场景的正确解决方案:

1. 直接匹配行尾的大写M

如果只是想精准定位每一行末尾的那个M,可以用正则的行尾锚点$来锁定位置,表达式写为:

M$
  • M:匹配大写字母M本身
  • $:行尾锚点,确保匹配的M是一行的最后一个字符

2. 匹配整行(验证以M结尾的时间格式)

如果需要验证整个时间字符串是否符合「以M结尾」的格式,或者匹配完整的时间行,可以用更完整的正则:

^\d{2}/\d{2}/\d{4} \d{1,2}:\d{2}:\d{2} [AP]M$

各部分解释:

  • ^:行首锚点,确保从行开头开始匹配
  • \d{2}/\d{2}/\d{4}:匹配日期部分(如11/30/2017)
  • \d{1,2}:\d{2}:\d{2}:匹配时间部分(如6:05:34)
  • [AP]M:匹配AM或PM的结尾格式
  • $:行尾锚点,确保整行以M结束

3. 单独提取行尾的M

如果需要把行尾的M单独捕获出来,可以用捕获组,表达式写成:

(M)$

这样在匹配结果里就能直接拿到这个行尾的M字符了。

最后再划个重点:正则里的[^...]是否定字符集,作用是排除括号内的字符,以后可别把它和匹配目标字符的用法搞混啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:42:15