kenan 发表于 2012-7-23 22:02:04

【正则求助】用StringRegExpReplace 提取类似{xx-xx-x-x-xx}的字符串出来【已解决】

本帖最后由 kenan 于 2012-7-23 23:49 编辑

源字符串如下,{}里面会变,其他不变
The entry {ddc30922-d4c6-11e1-8acb-88ae1de58106} was successfully created.
如何用StringRegExpReplace把{}里面的提取出来

kenan 发表于 2012-7-23 22:25:54

想到一种办法就是先用 .+{ 替换{前面的字符,再用 }.+ 替换}后面的内容,不过觉得这种办法很挫,怎么才能一次就提取出来,正则实在不行啊

afan 发表于 2012-7-23 23:14:05

Local $Str = 'The entry {ddc30922-d4c6-11e1-8acb-88ae1de58106} was successfully created.'
MsgBox(0, '', StringRegExpReplace($str, '.+{(.+)}.+', '\1'))

kenan 发表于 2012-7-23 23:41:18

回复 3# afan


    谢谢斑竹
另外能不能浪费你一定时间跟我解释下这代码是什么意思,帮助看了几遍还是不懂
.+{(.+)}.+
+{表示的是{前面那段字符,}.+表示}后面那段字符,而(.+)这个为什么要加(),帮助里说是组. 组中的元素可按序重复处理.,想不明白
还有'\1'有表示什么意思呢

afan 发表于 2012-7-23 23:45:00

加了一对括号就是组,在替换时,可以用“\1”引用这个组,即:将所有的内容替换成组内的内容“\1”

kenan 发表于 2012-7-23 23:51:04

回复 5# afan


    大概明白了
感谢
页: [1]
查看完整版本: 【正则求助】用StringRegExpReplace 提取类似{xx-xx-x-x-xx}的字符串出来【已解决】