正则表达式将从字符串获取维度

时间:2014-04-14 01:55:25

标签: regex dimensions

我有时间找到一个正在从字符串中提取尺寸的正则表达式。

这是我到目前为止所做的,它并没有真正做我想做的事情:

((\d+\s*(\d+\d+|\d+)*)\s*[xX]\s*(\d+\s*(\d+\d+|\d+)*)\s*[xX]\s*(\d+\s*(\d+\d+|\d+)*)|(\d+\s*(\d+\d+|\d+)*)\s*[xX]\s*(\d+\s*(\d+\d+|\d+)*)| (\d+\s*(\d+\d+|\d+)*))


以下是一些拉动(粗体)的例子:

-16" x 1476 ' 80 GA。 EQ超高级手挽 - 用于替代 18 " x 1500 ' 80 Gauge(4 / Case)
- 48 x 60 "瓦楞板(250 /包)
-MP模切分隔器 25 7 / 8 x 19 3 / 4 1000 / bale
-Part" B" (3" x 3x 1 / 2"木炭泡沫) - 额外件

我正在寻找它,请执行以下操作:

- 的 16" x 1476 ' 80 GA。 EQ超高级手挽 - 用于替代 18" x 1500 ' 80 Gauge(4 / Case)
- 48 x 60 "瓦楞板(250 /包)
-MP模切分割器 25 7/8 x 19 3/4 1000 /捆包
-Part" B" (仅 3" x3 x 1/2" 木炭泡沫) - 额外件

请注意,由于" /"正则表达式没有捕捉到分数的下半部分,如果英寸符号(即")介于该维度与其赢得的另一个数字之间#&# 39; t抓住第一个数字,你可以在第一个例子中看到。

一旦我使用了这个正则表达式,我就可以去除英寸和英尺符号(即"和'),并将每个数字分解为每个维度。只是尝试先拉出初始尺寸数字。

非常感谢你有任何意见。

2 个答案:

答案 0 :(得分:1)

我不理解x-in-the-the-number的数字,我没有尝试过这个部分,但除此之外,这有效:

([0-9]+["']?(?: [0-9]+/[0-9]+)? x [0-9]+["']?(?: [0-9]+/[0-9]+)?)

Regular expression visualization

Debuggex Demo

请考虑将Stack Overflow Regular Expressions FAQ加入书签以供将来参考。

答案 1 :(得分:1)

(\d+\s*\d+\s*\/\d+|\d+\s*\/\d+|\d+)["']?(\s*[xX]\s*(\d+\s*\d+\s*\/\d+|\d+\s*\/\d+|\d+)["']?)+

Demo