2016-07-19 50 views
0

我想替换下面的字符串。用正则表达式替换字符串部分

img/s/430x250/ 

问题是有变化,如:

img/s/265x200/ 

或:

img/s/110x73/ 

所以我想在整个更换这部分,但数字是可变的,所以我怎么能做出一个模式,从字符串中取代它?

+3

你的代码失败了吗?请分享。 –

+0

您是否阅读过“Pattern”的文档? https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html(特别是关于“预定义字符类”的部分) – Sam

+0

什么让你觉得这可能是可能的?换句话说:你只是在这里放弃了一项要求;但我们希望您向我们证明您尝试自己解决问题。 – VatsalSura

回答

0

这个正则表达式匹配您的例子

img\/s\/\d+?x\d+?\/ 

的/匹配/ 的\ d匹配数字0〜 9和+意味着1或更多。这个?使它懒惰而不是贪婪。

的IMG和S只是匹配字面上

退房https://regex101.com/尝试正则表达式。这比通过调试代码来测试它们要容易得多。一旦找到可用的表达式,就可以继续确保您的特定代码执行相同的操作。

+0

你不能在regex101中测试java的正则表达式 –

+0

它并不总是适用于.net,但它通常是这样,它是一个很好的起点 – drxl

+0

例如,这是专门为java:http://www.regexplanet.com /advanced/java/index.html –

1

您的目标是匹配所有这三种情况吗?

如果是的话,这应该工作:img\/s\/\d+x\d+\/

它搜索img/s/[1 or more digits]x[1 or more digits]/