regex 正则表达式编写

lbsnaicq  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(140)

我想提取的长度是突出显示粗体在下面的文本中正则表达式。有没有人能帮我?拜托
u01200.037.0225 3/82.1/425 + normen asme b18.2.1 bs ≈1768 sechskantschrauben unc asme b18.2.1斯塔尔
u01200.037.0200 3/82 inch25 + normen asme b18.2.1 bs ≈1768 sechskantschrauben unc asme b18.2.1斯塔尔
u01200.037.0475 3/83/410 + normen asme b18.2.1 bs ≈1768 sechskantschrauben unc asme b18.2.1
04400.160.030 m1630.0preis anzeigen 50 + normen din ≈6921 ripp fnlu1100095 d931 a2 6k schraube lubo m10x95/
我试着这样写:

.*d+[:|,]?\s?[a-z][0-9]|[\/][0-9]|x\s?(\d+[1-9]\s?.{0}*).*
dy2hfwbg

dy2hfwbg1#

对于前3个示例,您可以使用以下内容。

\.\d{4} +\d+\/\d+ +(.+?) +\d+

组1的输出。

2.1/4
2 inch
3/4

对于最后一个示例,您可以使用以下命令。
如果你有更多这样的例子,我也许可以改进这个模式。
现在它利用 “m”“x” 字符来获取最后一个值。

\.\d{3}.+?(\d+\.\d+).+?m\d+x(\d+)

组1和组2的输出。

30.0
95

您可以合并这两种模式与|,然后从程序中派生组1,或组2和3,具体取决于文本。

\.\d{4} +\d+\/\d+ +(.+?) +\d+|\.\d{3}.+?(\d+\.\d+).+?m\d+x(\d+)

相关问题