找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2321|回复: 6

[已解决] (已解决)正则表达式,匹配指定字符前的整数,求助

[复制链接]

已领礼包: 61个

财富等级: 招财进宝

发表于 2014-4-24 11:53:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 rjtiantian 于 2014-4-24 13:00 编辑

1. (XD::String:RegExpS "\\b\\d+(?=Pcs\\b)" "立柱底板,6mmSus304,100Pcs" "")
返回:("100")

2. (XD::String:RegExpS "\\b\\d+(?=件\\b)" "立柱底板,6mmSus304,100件" "")
返回:nil

第二句就是换成了中文,为什么就没有返回需要的100呢?

太晕了,卡住了一个上午。。。。


又爬了几层楼,解决了,{:soso_e100:},感谢长老@st788796

(XD::String:RegExpS "\\d+(?=件)" "立柱底板,6mmSus304,100件,200套,300件啊" "")
返回: ("100" "300")


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-4-24 12:00:36 | 显示全部楼层
_$  (XD::String:RegExpS "\\b\\d+\\b" "立柱底板,6mmSus304,100件" "")
("100")
_$

点评

并且,这样会有一个新的问题 (XD::String:RegExpS "\\b\\d+\\b" "立柱底板,6mmSus304,100件,500套" "") 返回:("100" "500") 但是我只想要“件”前面的整数,太纠结了。。。  详情 回复 发表于 2014-4-24 12:33
谢谢,,厉害,测试过确实可行,能再解释一下为什么要这样写吗?  详情 回复 发表于 2014-4-24 12:29
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 61个

财富等级: 招财进宝

 楼主| 发表于 2014-4-24 12:29:34 | 显示全部楼层
st788796 发表于 2014-4-24 12:00
_$  (XD::String:RegExpS "\\b\\d+\\b" "立柱底板,6mmSus304,100件" "")
("100")
_$

谢谢,{:soso_e179:},厉害,测试过确实可行,能再解释一下为什么要这样写吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 61个

财富等级: 招财进宝

 楼主| 发表于 2014-4-24 12:33:05 | 显示全部楼层
st788796 发表于 2014-4-24 12:00
_$  (XD::String:RegExpS "\\b\\d+\\b" "立柱底板,6mmSus304,100件" "")
("100")
_$

并且,这样会有一个新的问题

(XD::String:RegExpS "\\b\\d+\\b" "立柱底板,6mmSus304,100件,500套" "")
返回:("100" "500")

但是我只想要“件”前面的整数,太纠结了。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2014-4-30 13:58:25 | 显示全部楼层
本帖最后由 aeo 于 2014-4-30 14:01 编辑

用替换 regexpr (对api不熟,反正是那个 regexp.replace 的那个)

(regexpr   " (^.+,)(\\d+)(件.*$)" "$2" "立柱底板,6mmSus304,100件,500套" "")

==========================
(^.+,)(\\d+)(件.*$) 就是从开始查数字前的  逗号+数字+件 到结尾,结果只取第二个括号里的数字
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2014-4-30 14:23:31 | 显示全部楼层
这个更完美:
(regexpr   " .*?(\\d+)件.*$" "$1" "立柱底板,6mmSus304,100件,500套" "")
(regexpr   " .*?(\\d+)件.*$" "$1" "100件,500套" "")
(regexpr   " .*?(\\d+)件.*$" "$1" "100件" "")
搜   “数字”+"件" ,保留数字
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 918个

财富等级: 财运亨通

发表于 2014-5-4 19:47:17 | 显示全部楼层
做个记号:P
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-24 22:38 , Processed in 0.413528 second(s), 43 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表