我有时间找到一个正在从字符串中提取尺寸的正则表达式。
这是我到目前为止所做的,它并没有真正做我想做的事情:
((\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抓住第一个数字,你可以在第一个例子中看到。
一旦我使用了这个正则表达式,我就可以去除英寸和英尺符号(即"和'),并将每个数字分解为每个维度。只是尝试先拉出初始尺寸数字。
非常感谢你有任何意见。
答案 0 :(得分:1)
我不理解x-in-the-the-number的数字,我没有尝试过这个部分,但除此之外,这有效:
([0-9]+["']?(?: [0-9]+/[0-9]+)? x [0-9]+["']?(?: [0-9]+/[0-9]+)?)
请考虑将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+)["']?)+