匹配长 x 宽 x 高的中间和末端
Match middle and end of length x width x height
我正在尝试匹配,以下情况:
1. 如果只有一个 x
存在,则获取 end
示例:
| Matches/Cases | Result |
|-------------------|--------|
| 200 x 90 x 14 | 90 |
| 90x200 | 200 |
| 200 x 90x20 | 90 |
| 60,4 x46,5 x 42,6 | 46,5 |
| 90x190,9 | 190,9 |
2.如果有两个x
就得到最后一个,如果只有一个就没有结果
示例:
| Matches/Cases | Result |
|-------------------|--------|
| 200 x 90 x 14 | 14 |
| 90x200 | - |
| 200 x 90x20 | 20 |
| 60,4 x46,5 x 42,6 | 42,6 |
| 90x190,9 | - |
我坚持要得到一个具体案例!我尝试匹配以下正则表达式 x\s?((\d+(?:,\d+)?))\s?
,但我仍然只得到最后一部分情况,例如 90x200
我得到 200
,但 200 x 90 x 14
我得到 90 x 14
.
有两个适用于案例 1 或案例 2 的正则表达式的建议吗?
感谢您的回复!
只是把评论变成答案。
对于第一种情况,您可以使用:
[\d,]+\h*x\h*([\d,]+)(?:\h*x*[\d,]+)?
第二个:
[\d,]+\h*x\h*[\d,]+\h*x\h*([\d,]+)
提示:如果不支持,请将 \h
替换为 [ ]*
或 \s*
。
I tried to match with the following regex x\s?((\d+(?:,\d+)?))\s?
, but
I still get only the last part of the cases.
实际上,通过您自己的 RegEx,您将捕获后跟 x
的所有数字或浮点数。所以这不仅是最后一部分,还有所有类似的事件。
解决方案(主要正则表达式):
(?: *(\d+(?:,\d+)?) *(?:x|$))
如果您想要案例 #1,请附加量词 {2}
(?: *(\d+(?:,\d+)?) *(?:x|$)){2}
如果你想为案例 #2 添加量词 {3}
(?: *(\d+(?:,\d+)?) *(?:x|$)){3}
m
两种情况下都应设置修饰符
我正在尝试匹配,以下情况:
1. 如果只有一个 x
存在,则获取 end
示例:
| Matches/Cases | Result |
|-------------------|--------|
| 200 x 90 x 14 | 90 |
| 90x200 | 200 |
| 200 x 90x20 | 90 |
| 60,4 x46,5 x 42,6 | 46,5 |
| 90x190,9 | 190,9 |
2.如果有两个x
就得到最后一个,如果只有一个就没有结果
示例:
| Matches/Cases | Result |
|-------------------|--------|
| 200 x 90 x 14 | 14 |
| 90x200 | - |
| 200 x 90x20 | 20 |
| 60,4 x46,5 x 42,6 | 42,6 |
| 90x190,9 | - |
我坚持要得到一个具体案例!我尝试匹配以下正则表达式 x\s?((\d+(?:,\d+)?))\s?
,但我仍然只得到最后一部分情况,例如 90x200
我得到 200
,但 200 x 90 x 14
我得到 90 x 14
.
有两个适用于案例 1 或案例 2 的正则表达式的建议吗?
感谢您的回复!
只是把评论变成答案。
对于第一种情况,您可以使用:
[\d,]+\h*x\h*([\d,]+)(?:\h*x*[\d,]+)?
第二个:
[\d,]+\h*x\h*[\d,]+\h*x\h*([\d,]+)
提示:如果不支持,请将
\h
替换为 [ ]*
或 \s*
。
I tried to match with the following regex
x\s?((\d+(?:,\d+)?))\s?
, but I still get only the last part of the cases.
实际上,通过您自己的 RegEx,您将捕获后跟 x
的所有数字或浮点数。所以这不仅是最后一部分,还有所有类似的事件。
解决方案(主要正则表达式):
(?: *(\d+(?:,\d+)?) *(?:x|$))
如果您想要案例 #1,请附加量词 {2}
(?: *(\d+(?:,\d+)?) *(?:x|$)){2}
如果你想为案例 #2 添加量词 {3}
(?: *(\d+(?:,\d+)?) *(?:x|$)){3}
m
两种情况下都应设置修饰符