我有这个字符串:
"Price: $ $110.49Foil Sale!14 in stock"
我想在中间得到14,我怎么能用正则表达式来做?
编辑: 有时字符串是这样的:
Price: $
3 in stock
在这种情况下,我只需要3
我试过这个:[/[^$][0-9]\z{1,3}/]
但它没有用,我对正则表达式一点都不好
答案 0 :(得分:3)
如果文本:“库存”已修复,您只需使用以下内容获取14:
(\d+) in stock
在第一个捕获组中,您将找到数字14
如果您只想匹配数字14,可以使用前瞻表达式:
(\d+)(?= in stock)
答案 1 :(得分:0)
你可能只对“xx in stock”做任何事情 你可能需要知道它是什么。
# ^(.*?)(\d*)\s*in\s+stock\s*$
^
( # (1 start)
# what is in stock
.*?
) # (1 end)
( # (2 start)
# how many
\d*
) # (2 end)
\s* in \s+ stock \s*
$
答案 2 :(得分:0)
正则表达式'^。(14)。 $'(不带引号 - 替换为'$ 1')是最简单的方法,只要你的中只有一个出现14整个字符串。
如果您有多次出现,则会更复杂一些。