簡體   English   中英

用於查找文本的正則表達式

[英]Regular expression for find the text

我想獲得緊跟在AB.00.000My Text Content

我可以通過使用下面的正則表達式得到這個AB.00.000

([A-Z]{2,3}\.[0-9]{2}\.[0-9]{3})

如何在 Python 中獲取AB.00.000旁邊的文本?

這是輸入字符串:

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard 

AB.00.000 My Text Content

$!#"!

23:50

My Phone

在找到您的模式后,您似乎想獲得該行的其余部分。

您可以使用

r'\b[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\b\s*(.*)'

請參閱正則表達式演示 請注意, \\b是一個單詞邊界,它需要在單詞 char(或字符串的開頭/結尾)之前或之后的字母/數字/ _以外的字符。 \\s*(.*)是您的解決方案嚴重缺失的內容:

  • \\s* - 0+ 個空格
  • (.*) - 捕獲組 #1:除換行符以外的任何 0 個或更多字符,盡可能多,即行的其余部分。

如果模式必須位於一行的開頭,則提取所需文本的正則表達式方式將如下所示

r'(?m)^[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\b\s*(.*)'

請參閱另一個正則表達式演示 (?m) (= re.M選項) 使^匹配一行的開始,而不僅僅是整個字符串的開始,位置。

Python:

m = re.search(r'\b[A-Z]{2,3}\.[0-9]{2}\.[0-9]{3}\b\s*(.*)')
if m:
    print(m.group(1))

請注意,要訪問匹配的第一個(也是唯一的)括號部分,您需要通過.group(1)訪問匹配組。

暫無
暫無

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

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