簡體   English   中英

正則表達式 - 檢查它是否是字符串末尾的模式

[英]Regular expression - check if its the pattern at the end of string

我有一個這樣的字符串列表:

something-12230789577

我需要提取以問號符號或NOTHING結尾的數字(這意味着找到的模式在字符串的末尾)匹配這里應該是:'12230789577'我寫道:

r'\d+[?|/|]'

但在此示例中它不返回任何結果。 \s 適用於空格符號,但在這里我遇到了一個空符號,因此不需要 \s。 如何將空符號(字符串結尾)添加到正則表達式條件?

這可能有效:

re.search(r'\d+[?]?', t)

其中t是文本輸入[]檢查字符? 檢查 0 或 1 次出現。

保留?|/ 符號可選(0 或 1)。

import re
a='something-A12230789577'
b=re.search(r'\d+[?|/]?',a)
b

我已經找到了解決方案。 它搜索以“-”符號開頭並以: /什么都沒有

(?<=-)\d+(?=>\?|[?]|\?|$)

所以在 Python 中:

re.search(r'-(\d+)(?:[?|/].*)?$', text)

測試示例:

something-37238?somerandomstuff900

輸出:37238

暫無
暫無

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

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