精易论坛

标题: 求教易语言正则表达式如何能够像php或其他语言一样,禁止贪婪匹配 [打印本页]

作者: 让我倾听    时间: 2012-12-5 21:36
标题: 求教易语言正则表达式如何能够像php或其他语言一样,禁止贪婪匹配
懂的老鸟应该知道我啥意思,相当于在易语言中实现php中的正则 "/ \<(.*){1,5}\/> /U" 中的大U的的增强功能


作者: 精yì求精    时间: 2012-12-5 22:01
你到底想干什么
作者: fsjoe    时间: 2012-12-5 22:16
有的 以问号?作为非贪婪匹配
作者: 艾幻翔    时间: 2012-12-6 14:29
在星号后面加个  “?”

(.*?){1,5}


作者: 让我倾听    时间: 2012-12-8 16:58
@花`老板 我的e恐怕不比php差
作者: 让我倾听    时间: 2012-12-8 17:11
CBIQIH 发表于 2012-12-6 14:29
在星号后面加个  “?”

(.*?){1,5}

貌似不是很好用啊
用\\(.*?)\\$
还是匹配不到'E:\游戏\剑士\250\'中的250
作者: 让我倾听    时间: 2012-12-8 17:11
fsjoe 发表于 2012-12-5 22:16
有的 以问号?作为非贪婪匹配

貌似不是很好用啊
用\\(.*?)\\$
还是匹配不到'E:\游戏\剑士\250\'中的250
作者: 让我倾听    时间: 2012-12-8 17:13
精yì求精 发表于 2012-12-5 22:01
你到底想干什么

用正则匹配'E:\游戏\剑士\250\'中的250

在php中可以用'/\\(.*)\\$/U'做到,如果您懂我的话,就知道我啥意思了···实在不好表达
作者: fsjoe    时间: 2012-12-9 16:19
让我倾听 发表于 2012-12-8 17:13
用正则匹配'E:\游戏\剑士\250\'中的250

在php中可以用'/\\(.*)\\$/U'做到,如果您懂我的话,就知道我啥 ...

只是使用方法不同,如果你要用易来实现就只能学习易的用法
\\([^\\]+?)\\$
用这可就可以了
作者: 让我倾听    时间: 2012-12-9 22:29
fsjoe 发表于 2012-12-9 16:19
只是使用方法不同,如果你要用易来实现就只能学习易的用法
\\([^\\]+?)\\$
用这可就可以了

我知道用排除原子可以,但是我要是想排除\的同时,排除特殊符号就麻烦了,我就是想问问怎么禁止贪婪,用排除的话不需要禁止贪婪,控制尾部就够了
作者: fsjoe    时间: 2012-12-9 23:12
让我倾听 发表于 2012-12-9 22:29
我知道用排除原子可以,但是我要是想排除\的同时,排除特殊符号就麻烦了,我就是想问问怎么禁止贪婪,用排 ...

现在你问的问题并不是非贪婪可以解决的。
如果你要在 E:\游戏\剑士\250\ 匹配 \游戏\ 这个非贪婪可以解决。

作者: 让我倾听    时间: 2012-12-10 20:24
fsjoe 发表于 2012-12-9 23:12
现在你问的问题并不是非贪婪可以解决的。
如果你要在 E:\游戏\剑士\250\ 匹配 \游戏\ 这个非贪婪可以解决 ...

您有点误解我的意思了,针对文件夹改写正则我还是能做到的,我就是想易语言怎么在复杂的嵌套文本中匹配内容,谢谢了

另外,易语言取到的文件或文件夹路径最后没有反斜线
作者: Hawk    时间: 2012-12-10 21:38
把你码搞上来 ,在仔细说明好吗.
作者: 让我倾听    时间: 2012-12-13 21:27
Hawk 发表于 2012-12-10 21:38
把你码搞上来 ,在仔细说明好吗.

很简单,问问怎么禁止贪婪匹配,您会吗?求赐教!
作者: Hawk    时间: 2012-12-13 23:02
让我倾听 发表于 2012-12-13 21:27
很简单,问问怎么禁止贪婪匹配,您会吗?求赐教!

不懂你说的 禁止贪婪匹配
作者: 让我倾听    时间: 2012-12-14 18:03
Hawk 发表于 2012-12-13 23:02
不懂你说的 禁止贪婪匹配

学过php或者perl不?
作者: Hawk    时间: 2012-12-14 18:45
让我倾听 发表于 2012-12-14 18:03
学过php或者perl不?

都没, 我搞过asp
作者: 让我倾听    时间: 2012-12-15 10:30
Hawk 发表于 2012-12-14 18:45
都没, 我搞过asp

asp对正则的支持是很薄弱的,perl是原生正则




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4