nec520 发表于 2012-3-13 13:42:36

[已解决]正则表达式 求解 返回某个字符串 – 第一次出现之前的字符串….

本帖最后由 nec520 于 2012-3-13 15:01 编辑

我手上有一堆的字符串例如

常州永安精密机械有限公司-A-B-同富裕工业区-……
永安精密机械有限公司--A-B-同富裕工业区-……

要求 – 符号第一次出现之前的 那些字符串…..
-        符号 有可能重复的一再出现

求解:
常州永安精密机械有限公司
永安精密机械有限公司

3mile 发表于 2012-3-13 14:04:07

(?m)^.+(?=-)

lixiaolong 发表于 2012-3-13 14:32:45

回复 2# 3mile

不能用.+ 应该用.*?

nec520 发表于 2012-3-13 14:33:16

匹配出来的结果是:
常州永安精密机械有限公司-A-B-同富裕工业区
永安精密机械有限公司--A-B-同富裕工业区

我只要
常州永安精密机械有限公司
永安精密机械有限公司

nec520 发表于 2012-3-13 14:53:44

回复 3# lixiaolong


    (?m)^.*?(?=-)
这样可以了感谢

afan 发表于 2012-3-13 14:54:15

#include <Array.au3>
Local $Str = _
                '常州永安精密机械有限公司-A-B-同富裕工业区-……' & @CRLF & _
                '永安精密机械有限公司--A-B-同富裕工业区-……'
Local $Test = StringRegExp($str, '(?m)^[^-]+', 3)
_ArrayDisplay($Test, UBound($Test))

haijie1223 发表于 2012-3-13 14:57:32

本帖最后由 haijie1223 于 2012-3-13 15:09 编辑

向A版学习。A版正则太牛了!

fpquenya 发表于 2012-6-4 22:45:34

a版确实牛啊,想到的都没有他的简洁
页: [1]
查看完整版本: [已解决]正则表达式 求解 返回某个字符串 – 第一次出现之前的字符串….