cfs43210 发表于 2012-11-23 19:42:35

求正则取这字符,谢谢!(已解决)

本帖最后由 cfs43210 于 2012-11-23 20:25 编辑

我的电脑\HKEY_USERS\S-1-5-21-484763869-1897051121-1801674531-500_Classes

取(S-1-5-21-484763869-1897051121-1801674531-500)这串字符

annybaby 发表于 2012-11-23 19:49:48

回复 1# cfs43210


    S[\d-]+

cfs43210 发表于 2012-11-23 19:57:43

2楼是用哪个函数,能祥细点吗?

annybaby 发表于 2012-11-23 19:59:20

回复 3# cfs43210


    吐血,你不是说要用正则来提取吗??

cfs43210 发表于 2012-11-23 20:02:23

StringRegExpReplace我用这个取到的是(我的电脑\HKEY_USERS\_Classes)刚好相反我是要(S-1-5-21-484763869-1897051121-1801674531-500)

annybaby 发表于 2012-11-23 20:07:53

回复 5# cfs43210

论坛A大写的好工具啊,为什么不用下呢~~好帮手

复制下面代码到编辑器F5一下

### 友情提示:本脚本由 Au3.REHelper 于 2012/11/23 20:02 自动生成,不保证其正确性,请自行测试 ###
#include <Array.au3>
Local $Str = '我的电脑\HKEY_USERS\S-1-5-21-484763869-1897051121-1801674531-500_Classes'
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, 'S[\d-]+', 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($Test), '其中元素为: ' & $Test)
_ArrayDisplay($Test, UBound($Test))

   



PS:回复要点那个"回复",否则看不到通知,另外,现在是看电视时间~~

whitehead 发表于 2012-11-23 20:13:41

用这个函数StringRegExp

user3000 发表于 2012-11-23 20:15:25

感觉3楼高亮了.
楼主喜欢用代替法?
Local $str = '我的电脑\HKEY_USERS\S-1-5-21-484763869-1897051121-1801674531-500_Classes'
MsgBox(0, '', StringRegExpReplace($str, '.+(S[-\d]+)\D.+', '\1'))

cfs43210 发表于 2012-11-23 20:17:49

回复 6# annybaby

可以了,谢谢annybaby 。如果取HKEY_USERS\S-1-5-21-484763869-1897051121-1801674531-500。又要怎么写?

cfs43210 发表于 2012-11-23 20:24:41

谢谢2位老大。

cfs43210 发表于 2012-11-23 20:37:54

回复 6# annybaby
论坛A大写的好工具啊,为什么不用下呢~~好帮手
在哪啊,给个链接!谢谢!

annybaby 发表于 2012-11-23 21:36:11

标题

回复 11# cfs43210


    在看电视,手机上网发帖不方便,看上面代码的友情提示,有工具名

bsjd120 发表于 2012-12-25 14:58:05

非常需要哦 xiexie
页: [1]
查看完整版本: 求正则取这字符,谢谢!(已解决)