guanjl 发表于 2009-7-20 20:02:19

[提问] 如何取得一段字符串中的一段数字部分,详见贴子

字符串1:   汉字:汉字E520-EOT-F090194(C) 511119
字符串2:   F09-0194汉字+HUDK
上面的字、数字、加号还有字母只是说明两段字符的大概结构。
我的目地是想分别取出字符串1和2当中的 “ F090194”这一段字符,有什么办法吗?

大绯狼 发表于 2009-7-20 20:16:25

$str1="汉字E520-EOT-F090194(C) 511119"
$str2="F09-0194汉字+HUDK"
$num1=StringRegExp($str1,"F\d+",3)
$num2=StringRegExp($str2,"F\d+-\d+",3)
MsgBox(0,0,$num1&@CRLF&StringReplace($num2,"-",""))

guanjl 发表于 2009-7-20 20:25:51

2# 大绯狼

谢谢你!
我之前在帮助里也搜到这个StringRegExp,但看了半天还是不明白,就来发贴了.

看你定的,我不明白F\d+-\d+   这一段是什么意思,
看了下帮助 \d 匹配任何的数字 (0-9).
但后面 +-是启到什么作用啊?

大绯狼 发表于 2009-7-20 20:32:14

请参考
http://autoitx.com/forum.php?mod=redirect&tid=5987&goto=lastpost#lastpost

大绯狼 发表于 2009-7-20 20:32:20

请参考
http://autoitx.com/forum.php?mod=redirect&tid=5987&goto=lastpost#lastpost

lynfr8 发表于 2009-7-20 21:01:58

本帖最后由 lynfr8 于 2009-7-20 21:03 编辑

+
表达式至少出现1次,相当于 {1,},比如:"a+b"可以匹配 "ab","aab","aaab"...
-
就是你字符本身的-

也可以看看这个简单的例子
http://www.autoitx.com/forum.php?mod=viewthread&tid=8501&page=1&fromuid=1003#pid70287
页: [1]
查看完整版本: [提问] 如何取得一段字符串中的一段数字部分,详见贴子