【发布时间】:2015-06-17 15:29:44
【问题描述】:
我有一个无法正常工作的正则表达式。我正在使用 PCRE (php) 来运行它。
正则表达式查找以分数形式写入的英寸测量值,使用正斜杠分隔分子和分母。例如1 3/8in 或19 15/16"
这里会匹配12 1/2":
A product description with 12 1/2" in it.
但如果测量是维度的一部分,我希望它不匹配,即在之前或之后有一个 x 并且匹配此格式:19 3/4" x 19 5/8"
不正确匹配的示例文本:
Product description with 19 3/4" x 19 5/8" in it.
这与5/8" 匹配,因为其中的x 而应该忽略所有这些。
我的正则表达式目前取消了x 左侧的度量,但只忽略了右侧的整数。后视将从上面的示例中捕获5/8"。我需要它忽略尺寸的两侧,只匹配本身的测量值。我正在使用负面的前后观察来匹配x。
正则表达式:
/\s+(?<!x\s)\d*\s?\d+\/\d+"*\s*(in|")(?!\d*\s?x)\s*/i
我通过 regex101.com 的调试器运行它,但仍然无法弄清楚。
【问题讨论】:
-
你能否再添加几个例子让问题更清楚。