正则提取信息 - 已解决
本帖最后由 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%这个格式的如何同步能提取出来? 求帮指点一下,正则
试试: [\w\.%]+ 楼上好快
#include <Array.au3>
$string = "贴片电阻 4.7K 0402 5%"
Local $search =StringRegExp($string, '([\w\.%]+)', 3)
_ArrayDisplay($search)
谢谢 ,感谢各路高手指点 :face (33): 本帖最后由 afan 于 2021-8-6 11:04 编辑
Highlight code by AuREHelper
\d+[\w%.](?#)+
都可以,afan大大的和上面的有什么区别啊? 经测试,afan大大的更精确一些,数字+字母,数字+字符的模式 rally 发表于 2021-8-6 10:58
经测试,afan大大的更精确一些,数字+字母,数字+字符的模式
上面修改了下,漏了个点 afan 发表于 2021-8-6 10:55
A大您好长时间没冒泡了,久违的亲切感 afan大大,'[\d.]+[\w%.](?#)+','\d+[\w%.](?#)+' ,'[\d.]+[\w%](?#)+' ,这几个我测的结果都一样,点加在\d后面和\W后面有区别吗? itzyx 发表于 2021-8-6 11:58
A大您好长时间没冒泡了,久违的亲切感
只要有空还是会来溜达一圈 :face (33): rally 发表于 2021-8-6 12:07
afan大大,'[\d.]+[\w%.](?#)+','\d+[\w%.](?#)+' ,'[\d.]+[\w%](?#)+' ,这几个我测的结果都一样,点 ...
虽然在这里的例子中可以得到一样的结果,但是,如果必须是数字开头的话,那 [\d.] 的表达就不正确了,因为这是指 数字或点 都可以,那样如果是 点 开头的话会首先捕获到 点,虽然你这里不会有这种情况。 afan 发表于 2021-8-6 13:14
虽然在这里的例子中可以得到一样的结果,但是,如果必须是数字开头的话,那 [\d.] 的表达就不正确了,因 ...
感谢有afan大大,每次都有您给指点迷津
页:
[1]