如何使用正则提取提取一段文本的内容到剪切板?

使用问题 · 2216 次浏览
lgf 创建于 2019-02-19 17:07

如何使用正则提取提取一段文本的内容到剪切板?


CL 2019-02-19 19:19 :

正则建议参考:https://deerchao.net/tutorials/regex/regex.htm 

提取后,将结果输出到变量里,然后在使用写入剪贴板的模块,将变量内容放入剪贴板。

lgf 2019-02-19 19:47 :
感谢回帖
我想所所选一段文字使用正则提取功能提取出来,然后放入剪切板,但是不能实现提取,
如提取下面的数字,只能提取到1:
123123儿童sdfsfsdf
3245#¥%#¥%#4srfsdfs等等
1243235请二位上帝发誓
士大夫卡时间122312312是上帝发誓埃尔斯;
CL 回复 lgf 2019-02-20 08:07 :

可以用Regester程序测试一下正则。 下载地址https://pan.baidu.com/s/138kvW822nmkx6fVnplAM1g 

Sir.Quicker 回复 CL 2019-04-02 21:55 :

在其他正则在线测试工具上都匹配出当前行的数量,在regester里面测试不成功,但不知道怎么回事。

求解!


高亮部分是变量,需要提取当前所在值。

正则公式:

cut8.*T{1,}


待提取内容:

cut1|F:\未T

cut2|F:\未\小T

cut3|F:\AAA\2019年已T

cut4|F:\AAA\2019年已\小T

cut8|D:\My Documents\DesktopT

copy1|D:\My Documents\DesktopT


Sir.Quicker 回复 Sir.Quicker 2019-04-02 22:08 :



即使是用

cut1.*T{0}? 在  Regester软件匹配成功了,但在Quicker里面还是失败。

CL 回复 Sir.Quicker 2019-04-02 22:31 :

要提取文字里面的内容,可能需要用提取Group的方式。可以查一下相关的资料,需要用括号包围要提取的部分。

Sir.Quicker 回复 CL 2019-04-02 23:34 :

不会正则,上面的正则公式也是12小时不眠不休东拼西凑搞出来的,结果还用不了,求哪位路过的大神帮忙解决下吧,最近时间不充裕啊。

治钧 2019-04-02 23:43 :
cut1.*T
这样应该就行了吧,不勾单行模式
治钧 回复 Sir.Quicker 2019-04-02 23:45 :

cut1.*T 

这样应该就行了吧,不勾单行模式

Sir.Quicker 回复 治钧 2019-04-03 08:04 :

对的,谢谢!哎,还是要多学点知识。。。自己走了太多弯路

Sir.Quicker 回复 治钧 2019-04-03 08:11 :
连续两晚,睡觉的时候都在想。。。哭😭😭😭
治钧 回复 Sir.Quicker 2019-04-03 08:48 :

不客气的。

按照我的理解,看是不是要提取后面的路径,如果这样的话可以试试:

(?<=cut1\|).*(?=T)

应该会更省事一点

Sir.Quicker 回复 治钧 2019-04-03 09:40 :

看来又可以省两步了,简化下。


自己都是先凑,提取出来还需要两次文本替换才得到需要的路径。T也是自己加的可以用来判断结尾的字母,可以不需要加T来判断吗?比如到本行结尾?

治钧 回复 Sir.Quicker 2019-04-03 09:45 :

可以的:

(?<=cut1\|).*$

要勾上多行模式

Sir.Quicker 回复 治钧 2019-04-03 10:04 :

这样的匹配结果,总是会多一行,空白的,相当于换行了,可否避免呢?



治钧 回复 Sir.Quicker 2019-04-03 10:06 :

改进一下,试试:

(?<=cut1\|)[^\r\n]*$

-----------------

上面的应该不行,我再想想

Sir.Quicker 回复 治钧 2019-04-03 10:09 :

用之前那个,想在quicker里面用替换文本功能,也没办法把回车替换掉。

治钧 回复 Sir.Quicker 2019-04-03 10:13 :

再试试这个吧:

(?<=cut1\|)[^\r\n]*(?=[\r\n]*)

Sir.Quicker 回复 治钧 2019-04-03 10:33 :

perfect, 3Q

回复内容
暂无回复
回复主贴