Python正規表示式之提取字串中中文和數值

2021-10-21 17:28:17 字數 1624 閱讀 8202

import re

pattern=re.

compile

("[\u4e00-\u9fa5]+"

)pattern.findall(

"士力架花生夾心巧克力全家桶460g/+40克(20克*2)500g"

)

輸出:

[『士力架花生夾心巧克力全家桶』, 『克』, 『克』]

import re

pattern=re.

compile

("[0-9]+"

)pattern.findall(

"士力架花生夾心巧克力全家桶460g/+40克(20克*2)500g"

)

輸出:

[『460』, 『40』, 『20』, 『2』, 『500』]

#提取全家桶之後出現的兩位整型字元

import re

pattern=re.

compile

("(?<=全家桶)\d"

)pattern.findall(

"士力架花生夾心巧克力全家桶460.7g/+40克(20克*2)500.8g"

)

輸出:

[『46』]

#提取出現的克數資訊

import re

pattern=re.

compile

("[0-9]+g|[0-9]+克"

)pattern.findall(

"士力架花生夾心巧克力全家桶460g/+40克(20克*2)500g"

)

輸出:

[『460g』, 『40克』, 『20克』, 『500g』]

import re

pattern=re.

compile

("\d+\.\d*"

)#\d+匹配整型數值,\.匹配小數點,\d*匹配小數點後的整型數值

pattern.findall(

"士力架花生夾心巧克力全家桶460.7g/+40克(20克*2)500.8g"

)

輸出:

[『460.7』, 『500.8』]

#提取數值

import re

pattern=re.

compile

("\d+\.?\d*"

)#因為不確定是否有小數點,所以此處使用\.?來匹配

pattern.findall(

"士力架花生夾心巧克力全家桶460.7g/+40克(20克*2)500.8g"

)

輸出:

[『460.7』, 『40』, 『20』, 『2』, 『500.8』]

#提取"全家桶"之後出現的數值

import re

pattern=re.

compile

("(?<=全家桶)\d+\.?\d*"

)pattern.findall(

"士力架花生夾心巧克力全家桶460.7g/+40克(20克*2)500.8g"

)

[『460.7』]

參考鏈結

c 正規表示式提取字元

using system using system.collections.generic using system.linq using system.text using system.threading.tasks using system.text.regularexpressions us...

用python正規表示式提取字串

在日常工作中經常遇見在文字中提取特定位置字串的需求.python的正則效能好,很適合做這類字串的提取,這裡講一下提取的技巧,正規表示式的基礎知識就不說了,有興趣的可以看re的教程.提取一般分兩種情況,一種是提取在文字中提取單個位置的字串,另一種是提取連續多個位置的字串.日誌分析會遇到這種情況.下面我...

jmeter 正規表示式提取

我們在做壓測時,經常會碰到需要上個介面的結果作為引數傳遞到下乙個介面,此時需要用到正規表示式提取功能。1 新增jmeter正規表示式提取器 在具體的request下新增jmeter正規表示式提取器 jmeter正規表示式在 後置處理器 下面 例1如下 引用名稱 tokenid 自己定義 模板 1 匹...