Jayson_Dai 2022-12-12 13:48 采纳率: 66.7%
浏览 28
已结题

如何使用正则表达式,匹配并提取部分类容。

我想问一下,用正则表达式是否可以达到【匹配但不输出】的功能。
比如,有一个字符串:

'NumPoint 12 pt'

我用matlab匹配的语句是:

regexp(str, 'NumPoint \d+ pt', match);

可以匹配到此字符串
是否可以有简单的办法匹配到此格式后,然后只把'12'输出出来。

  • 写回答

2条回答 默认 最新

  • ShowMeAI 2022-12-12 13:55
    关注

    望采纳


    是的,您可以使用正则表达式的捕获组功能来实现这一目的。

    捕获组可以让您只匹配某些特定的子字符串,而不是整个字符串。您可以在正则表达式中使用小括号来指定捕获组,然后在调用regexp函数时,指定'tokens'选项来提取捕获组的内容。

    下面是代码详情

    % 定义要匹配的字符串
    str = 'NumPoint 12 pt';
    
    % 使用捕获组来匹配数字
    pattern = 'NumPoint (\d+) pt';
    
    % 调用regexp函数来匹配字符串
    [match, tokens] = regexp(str, pattern, 'match', 'tokens');
    
    % 输出提取的数字
    disp(tokens{1})
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月20日
  • 已采纳回答 12月12日
  • 创建了问题 12月12日

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么