簡體   English   中英

使用正則表達式提取字符串后跟帶有空格的數字

[英]Extract strings followed by number with space using regex

我有以下字符串

[1] weight | width | depth | 5.0 kg | 6.0 mm^3 | 10.12 cm^2

從中我只需要提取單位字符串

unit=kg
unit=mm^3
unit=cm^2

我嘗試了下面的正則表達式

(?<unit>[^ -+0-9\\.\|\[\}\]]+)

但它也給出了重量、寬度、深度值。 也試過

(?<unit>[\D][^|]+)

但沒有奏效。 我想我需要提取后面跟着數字和空格的字符串

你能幫我解決這個問題嗎

您可以使用字符類列出允許的字符:

\b[0-9]+(?:\.[0-9]+)?[^\S\r\n]+(?<unit>[a-z^0-9]+)\b

正則表達式演示

或更具體:

\b[0-9]+(?:\.[0-9]+)?[^\S\r\n]+(?<unit>kg|[mc]m)\b

查看另一個正則表達式演示

如果應該有管道或字符串的末端:

\b[0-9]+(?:\.[0-9]+)?[^\S\r\n]+(?<unit>[^0-9\s]\S*)(?:[^\S\r\n]+\||$)

正則表達式演示

我在下面使用了正則表達式,它只匹配單位字符串。

 \b[a-z]{2}(?:[\^]\d+)?(?!\S)\b

演示鏈接: https ://regex101.com/r/AjONqR/1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM