找回密码
 加入
搜索
查看: 2171|回复: 12

[网络通信] 正则提取信息 - 已解决

[复制链接]
发表于 2021-8-6 10:18:34 | 显示全部楼层 |阅读模式
本帖最后由 rally 于 2021-8-6 10:55 编辑

贴片电容 1uF/16V X7R 0603 10%  想提取   1uf,16V,7R,0603,10%
贴片电阻 10K 0402 5%  想提取  10K,0402,5%

$string = "贴片电阻 4.7K 0402 5%"
Local $search =StringRegExp($string, '([\d.]+\w+)', 3)
_ArrayDisplay($search)


能够提取 4.7K,0402 , 但 5%这个格式的如何同步能提取出来? 求帮指点一下,正则
发表于 2021-8-6 10:34:30 | 显示全部楼层
试试:   [\w\.%]+
发表于 2021-8-6 10:34:53 | 显示全部楼层
楼上好快
#include <Array.au3>
$string = "贴片电阻 4.7K 0402 5%"
Local $search =StringRegExp($string, '([\w\.%]+)', 3)
_ArrayDisplay($search)
 楼主| 发表于 2021-8-6 10:54:51 | 显示全部楼层
谢谢 ,感谢各路高手指点
发表于 2021-8-6 10:55:24 | 显示全部楼层
本帖最后由 afan 于 2021-8-6 11:04 编辑

Highlight code by AuREHelper
\d+[\w%.](?#)+

 楼主| 发表于 2021-8-6 10:57:18 | 显示全部楼层
都可以,afan大大的和上面的有什么区别啊?
 楼主| 发表于 2021-8-6 10:58:41 | 显示全部楼层
经测试,afan大大的更精确一些,数字+字母,数字+字符的模式
发表于 2021-8-6 11:04:42 | 显示全部楼层
rally 发表于 2021-8-6 10:58
经测试,afan大大的更精确一些,数字+字母,数字+字符的模式

上面修改了下,漏了个点
发表于 2021-8-6 11:58:33 | 显示全部楼层

A大您好长时间没冒泡了,久违的亲切感
 楼主| 发表于 2021-8-6 12:07:24 | 显示全部楼层
afan大大,'[\d.]+[\w%.](?#)+','\d+[\w%.](?#)+' ,'[\d.]+[\w%](?#)+'   ,这几个我测的结果都一样,点加在\d后面和\W后面有区别吗?
发表于 2021-8-6 13:09:21 | 显示全部楼层
itzyx 发表于 2021-8-6 11:58
A大您好长时间没冒泡了,久违的亲切感

只要有空还是会来溜达一圈
发表于 2021-8-6 13:14:52 | 显示全部楼层
rally 发表于 2021-8-6 12:07
afan大大,'[\d.]+[\w%.](?#)+','\d+[\w%.](?#)+' ,'[\d.]+[\w%](?#)+'   ,这几个我测的结果都一样,点 ...

虽然在这里的例子中可以得到一样的结果,但是,如果必须是数字开头的话,那 [\d.] 的表达就不正确了,因为这是指 数字或点 都可以,那样如果是 点 开头的话会首先捕获到 点,虽然你这里不会有这种情况。
 楼主| 发表于 2021-8-6 13:22:56 | 显示全部楼层
afan 发表于 2021-8-6 13:14
虽然在这里的例子中可以得到一样的结果,但是,如果必须是数字开头的话,那 [\d.] 的表达就不正确了,因 ...

感谢有afan大大,每次都有您给指点迷津
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-4 14:59 , Processed in 0.074628 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表